如何从android获取完整的系统日志
Posted
技术标签:
【中文标题】如何从android获取完整的系统日志【英文标题】:How to get complete system log from android 【发布时间】:2013-07-18 08:34:10 【问题描述】:我想获得完整的系统日志。目前,我正在使用下面的代码来获取系统日志
try
final Process process = Runtime.getRuntime().exec("logcat -d -v threadtime *:I");
final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(
process.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null)
lineList.add(line);
catch (final IOException e)
Log.e(e.toString());
我可以使用上面的代码成功获取系统日志。它只提供最后 30 分钟的日志。但是,我想从我的应用程序启动中获得完整的系统日志。是否可以将系统日志写入我们的私有文件?
【问题讨论】:
您必须删除 -d 选项,因为它实际上“将日志转储到屏幕并退出”。如果您希望它继续打印日志,则不能终止 logcat。 developer.android.com/tools/help/logcat.html 是否可以将系统日志连续写入私有文件? 是的,您只需将读取的每一行写入磁盘上的文件即可。 你知道如何停止从 logcat 读取吗? 【参考方案1】:要连续写入文件,试试这个:
... exec( "logcat -f cachedirectory/logfile.txt -v threadtime" );
请参阅http://developer.android.com/tools/help/logcat.html 中的 -f 选项。
【讨论】:
以上是关于如何从android获取完整的系统日志的主要内容,如果未能解决你的问题,请参考以下文章