当我测试我的 android 应用程序时,我会记录显示在 LogCat 上的消息。但是消息很快从窗口顶部排出,因此无法足够快地阅读它们。
我怎样才能阻止这个?
logcat 窗口中有一个滚动锁,您可以使用它来暂停打印输出。
要获取完整的 logcat 消息,您可以将它们重定向到文件:
adb logcat >& output.log
这在某种程度上取决于您所说的“排水”。如果问题只是消息滚动太快而您需要停止自动滚动到底部,您可以在 IDE(或 DDMS/Monitor)中暂停此功能。如何暂停它取决于您的 IDE,在 IntelliJ 中,您只需单击日志输出中的某处即可放置光标,而在 Eclipse 中,logcat 窗口上方有一个按钮可以暂停输出滚动(不要忘记将其转回开,否则您将看不到新消息)。
但是,如果您的问题是记录了太多数据,即使滚动暂停,您也无法向上滚动查看所需内容,那么您需要减少记录。这是因为 Android logcat 驱动程序是一个固定大小的 64KB 循环内存缓冲区。因此,如果您记录了足够多的数据,它将开始覆盖日志中较旧的条目,并且在您有机会阅读它们之前它们就会消失。
你为什么不过滤 logcat,让它显示你最感兴趣的东西。
您可以使用以下语法仅显示您感兴趣的标签(使用命令行中的 adb 工具 - 在 Eclipse 的 logcat 视图中也可用):
adb logcat TAGTOSHOW:* TAGTOSHOW2:* *:s
您可以根据需要包含任意数量的 TAG 组合。不要忘记 *.s 会使所有其他内容保持沉默。
我更喜欢打开文件:
adb logcat | tee foo.log | grep "YOUR_TAG_OF_INTEREST"
通过这种方式,您可以在终端窗口中获得您认为要查找的任何内容,但是如果您需要查看完整的日志,您可以将它们保存在一个文件中。
有一些方法: