如何防止Android设备日志被清除?

时间:2011-05-26 12:19:58

标签: android logging

我想将所有日志转储出去测试我的应用程序的长时间使用,可能需要2-3天,但日志似乎在很长一段时间后运行时被清除。

如何保存日志?

我不想整天将我的设备与eclipse连接起来,我希望日志能够保留给我,比如将它存储在SD卡中以便进一步检查。

3 个答案:

答案 0 :(得分:2)

我的申请要求相同。默认情况下,logcat进程可跟踪最多约64kb的日志(取决于设备)。

您可以使用logcat和一些自定义参数开始自己的adb shell进程。例如:

adb shell logcat -f /mnt/sdcard/large.log -r 100 -n 10

这将在10个文件(large.log,large.log.0,larget.log.1等)中平均分配最多1mb的日志;

下一步是从您的应用中启动logcat

String [] args = new String[] { Logcat, "-v", "threadtime", 
                                "-f", logFile.getAbsolutePath(),
                                "-r", Integer.toString(sizePerFile),
                                "-n", Integer.toString(rotationCount),
                                "*:"+filter}; 

Runtime.getRuntime().exec(args);

所以现在您的应用可能会开始保存日志。但是你应该注意不要在你的应用程序的生产版本中启用它(或至少使这个选择加入功能)。

答案 1 :(得分:1)

不使用eclipse日志而是使用“日志查看器”之类的应用程序。我认为该应用可以解决您的问题。我认为日志将保持不变,直到您在“日志查看器”中手动清除日志。我今天早上刚下载它,但仍然有我在打开设备后执行的操作日志。

答案 2 :(得分:0)

您是否尝试将日志转储到文件中?

adb logcat > log.txt