2013-04-25 29 views
0

我正在处理重型日志机制的解决方案,以便注销例如在特定软件包名称下发生ANR时发生的情况。我想要实现的是在手机连接到计算机时记录LogCat输出的信息。 当手机断开连接并由“普通”用户使用时,可以这样做吗?通过特定软件包名称记录在android中发生的事情

我发现这个很棒post,它输出som相关logcat的东西到SD卡上的文本文件。

我已经使用命令:logcat -b main -d -v time作为用于排序日志记录的字符串参数。

我还发现了一个possbile解决方案,通过扩展命令在Level(DEBUG,VERBOSE,ERROR等)之后进行排序。

所以命令会是这样的:

adb -d logcat com.my.package:E *:S 

我在这个post发现了这个命令,但它wouldnt't登出什么我的文件。

所以我的问题是:

我怎么能基于上述信息,注销logcat的信息,通过ERROR水平,在手机SD卡一个.txt文件,而不必连接到手机电脑和日食。它有可能吗?

非常感谢!

+1

从Android 4.1开始是不可能的,除非包名称是您自己的应用程序。 http://commonsware.com/blog/2012/07/12/read-logs-regression.html – CommonsWare 2013-04-25 12:41:25

+0

我只想注销我的应用程序输出的信息。 – 2013-04-25 12:49:14

+0

那你为什么还要用这些无证的废话来打扰呢?只需将你的'Log.d()'和KIN调用封装到你自己的文件中。有大量的Java日志记录框架,其中一些可以在Android上工作,其中一种(java.util.logging)被嵌入到Android中。 – CommonsWare 2013-04-25 12:52:58

回答

0

经过漫长的试验和错误,我找到了解决方案,希望这可以帮助其他人。要将特定于应用程序的日志写入SD卡中的文本文件,请使用此命令。

"logcat -b main -d -v time ['your package name will go here']". 
相关问题