对于我的一个Android项目,我需要在12到24小时的时间内收集一些调试数据。写入logcat不是一个解决方案,因为它不会长时间保存日志。有没有比手动记录到文件更好的方法?适合这种情况的某种API"很长一段时间"日志记录?
感谢您提供的任何暗示: - )
答案 0 :(得分:0)
一个非常简单的解决方案可能是将调试日志写入PC上的永久文件。
这将复制日志的内容然后退出。
adb logcat -d > logcat.txt
如果要在创建新日志输出时继续写入文件,请删除-d,它将继续复制到文件。
adb logcat > logcat.txt
答案 1 :(得分:0)
如何编写自己的Log类,一个将log4j用于文件日志记录的包装器,以及用于本机logcat的android.util.log。
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
在您的应用中,不使用常规的Log类,而是使用自定义Log类。