0

我四处寻找似乎能够影响 logcat 的所有内容,但我找不到这个问题的答案。我正在调试一个大型应用程序,它每秒将数百条 logcat 消息转储到屏幕上。在 Eclipse 中,我使用正则表达式按日志标记进行过滤,但这就是事情变得奇怪的地方。“暂停”按钮会无缘无故地持续激活,并且鉴于大量新消息,在我获得我正在调查的特定事件序列的日志之前,它们将被一次覆盖一点点. 我什至设置了断点并尝试使用“导出”按钮逐位捕获日志,但是该应用程序是多线程的,并且由于来自其他线程的消息,它们仍然消失得太快。以某种方式增加缓冲区或使旧消息保留会很好,尽管此时我愿意完全放弃它并将其输出到文件中,但我不确定如何按日志标签进行过滤从命令行使用我的正则表达式。我有哪些选择?

PS我一直在环顾四周,我希望这不是多余的——我还没有找到任何专门解决我的问题的东西,尽管我当然遇到过大量相关的线程,但这些线程并没有多大帮助。非常感谢!

4

3 回答 3

0

我有类似的问题。我正在开发与 Web 服务器通信并下载大量数据的应用程序。我几乎为每个变量都有日志,我必须测试它们以查看我从 JSON 收到的结果是否正确。所以我所做的就是将所有日志记录在我的 sd 卡上的一个文件中,我做了这样的事情:

public void log2File(String filename, String log, int type){

   switch(type){

     case 1: // debug

     case 2: //verbose

     case 3: //warning 

      //..and etc
   }
}

我没有找到更好的解决方案,所以我就是这样做的。当然,您必须将日志添加到文件中并保存。

希望这个解决方案对你有好处。

于 2012-06-05T15:01:08.630 回答
0

我发现 eclipse logcat 窗口在高日志量的情况下相当有问题 - 如果您尝试将其关闭,它甚至不会保持禁用状态。

为了实际捕获所需的数据,我倾向于从命令行使用 adb logcat 命令。在 linux 上,或者可能是 cygwin 或 osx 上,你应该能够做到:

adb logcat | tee logfile 

两者都看到消息飞过,并将它们记录到文件中。

于 2012-06-05T17:42:43.523 回答
0

我知道这个问题很老,但我和你有完全相同的问题。我到处寻找一个好的解决方案,但没有找到适合我的解决方案,所以我开始创建自己的工具。如果你在 Mac 上,你可以使用 LogRabbit 来做你想做的事。它可以通过两种不同的方式帮助您解决问题。

  1. 您可以adb logcat -v threadtime在命令行上使用并将日志写入磁盘并将其导入 LogRabbit。

  2. 过滤机制应该足够快以处理您正在谈论的日志量。

看看http://lograbbit.com我希望这会有所帮助。

于 2015-08-06T02:28:58.717 回答