【问题标题】:How to redirect the content in Logcat to file on android?如何将 Logcat 中的内容重定向到 android 上的文件?
【发布时间】:2013-04-11 02:38:30
【问题描述】:

最近,我正在开发一个 android 应用程序。我的代码中有很多Log.iLog.e

当我在通过 USB 连接到计算机的手机上测试应用程序时,我可以获取 Logcat 下的所有日志。但是当我的手机没有连接到我的电脑时,我不知道错误来自哪里,因为Log.* 不会将日志写入文件。

谁能给我一些关于如何重定向Log.*对我的代码进行最小更改的文件的建议?非常感谢!

附言

我搜索了如何使用adb logcat 将 Logcat 重定向到文件。谁能告诉我如何过滤与我当前应用程序对应的日志?

【问题讨论】:

标签: android android-logcat


【解决方案1】:

要在您的设备上以编程方式将 LogCat 日志保存到文件,请使用以下代码:

String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filePath, "MyAppTAG:V", "*:S"});

"MyAppTAG:V" 将所有标签的优先级设置为 Verbose(最低优先级)

"*:S" 将所有标签的优先级设置为“静默”

如果你想保存所有 logcat 只需输入“*:V”即可。

更多关于 logcat 的信息here

【讨论】:

  • 我不太明白:您既设置了详细,又设置了静音。最后两个参数有什么区别?
  • @dthree 在这个例子中,我们将我们的应用标签(例如包名)设置为详细,所有其他日志都设置为静默以忽略它们
  • 好的。我正在对此进行测试,看起来将*:S 放在更具体的过滤器之后可能会覆盖该过滤器并使一切保持沉默。把*:S 早先为我解决了这个问题。
  • 我发现一些特定于供应商的 rom 会禁止子进程运行。这个问题有解决办法吗?
猜你喜欢
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
相关资源
最近更新 更多