對於我的一個Android項目,我需要在12到24小時的時間範圍內收集一些調試數據。寫入logcat不是一個解決方案,因爲它不會保持很長的日誌。有沒有比手動記錄文件更好的方法?用於這種「長時間」記錄的某種API?保持調試輸出12小時?
感謝這個:-)任何暗示
對於我的一個Android項目,我需要在12到24小時的時間範圍內收集一些調試數據。寫入logcat不是一個解決方案,因爲它不會保持很長的日誌。有沒有比手動記錄文件更好的方法?用於這種「長時間」記錄的某種API?保持調試輸出12小時?
感謝這個:-)任何暗示
一個非常簡單的解決方案可能被寫入調試日誌文件,對PC中的永久文件。
這將複製日誌的內容,然後退出。
adb logcat -d > logcat.txt
如果您想要在創建新日誌輸出時繼續寫入文件,請刪除-d,然後將其繼續複製到文件。
adb logcat > logcat.txt
謝謝,但在此期間我的android手機不會連接到電腦): – 2014-10-07 19:58:53
如何編寫自己的日誌類,將使用log4j的文件記錄和android.util.log對本地logcat的一個包裝什麼。
public class Log
{
private static Logger logger = Logger.getLogger("MAIN_LOGGER");
// info
public static void i(String tag, String message)
{
// logcat
android.util.Log.i(tag, message);
// log4j
logger.info("[" + tag + "] " + message);
}
// TODO other levels
}
log4j.properties,而不是使用常規的登錄類
# [...]
log4j.logger.MAIN_LOGGER = DEBUG, FILE
# Define the file appender
# TODO improve this
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=/sdcard/log.out
在您的應用程序,使用自定義之一。
任何日誌記錄API是更可能會只寫一個文件某處 – tyczj 2014-10-07 19:02:19
什麼也不會「保持日誌這麼久」?目前還不清楚問題是什麼:日誌記錄必須在某處編寫*文件,數據庫,端點等。選擇一個並執行。 – 2014-10-07 19:06:56
使用android logcat api完成的日誌條目例如Log.d(..)將不會永久保存,因爲日誌緩衝區是循環的。所以問題是:Android是否提供了使用logcat API或類似方法登錄文件的方法? – 2014-10-07 20:00:43