如何禁用 Logcat 中的自动滚动功能?
Posted
技术标签:
【中文标题】如何禁用 Logcat 中的自动滚动功能?【英文标题】:How to disable the autoscroll feature in Logcat? 【发布时间】:2011-07-22 10:08:32 【问题描述】:我使用 LogCat 查看我的应用程序的调试输出。 如果其他应用程序正在运行,或者测试设备的系统有一些嘈杂的后台线程,运行 LogCat 将一直滚动,我必须手动更正我的位置以读取长堆栈跟踪。
有没有办法在 LogCat 中禁用滚动?或者以某种方式调整滚动设置?
【问题讨论】:
【参考方案1】:一种方法是为所有嘈杂的服务创建一个过滤器。
只需创建一个带有干扰日志标签的过滤器。 Logcat 不会从主日志视图中过滤掉这些消息并减慢滚动速度。
这不是最好的解决方案。它将导致 LogCat 具有 15 或 20 个不同的过滤器,仅用于删除未使用的日志输出。
更新除了使用过滤器之外,android 工具的最新更新之一在 logcat 中添加了一个暂停按钮。只需单击按钮,自动滚动就会被禁用。
【讨论】:
其实我推荐过滤器。但反过来。当我使用 logcat 时,我使用了一些过滤器:一个用于我的应用程序,一个用于抓取 AndroidRuntime(异常被丢弃在那里),一个用于 system.err 和 system.out。通常你甚至只需要前两个。 System.err 和 out 很少使用(例如 JSONObject 向那里抛出异常)。让主日志填满垃圾。 我发誓过去的日志在您单击某行时会停止。我应该考虑制作一个过滤器,因为我真的只是想要我现在通过“ACRA”过滤的崩溃,因为我使用它,很有魅力! Logcat 中的“Scroll Lock”按钮看起来更像是一个下载按钮,这就是我忽略它的原因...感谢您指出它的存在! “滚动锁定”按钮并不总是有效......不幸的是,它似乎非常有问题。 @Janusz,你的意思是“滚动锁定”按钮。不是“暂停”。【参考方案2】:在右上角的Logcat中有一个按钮,看起来像一个向下的箭头,下面有一条线。切换它以打开和关闭自动滚动。
【讨论】:
每次我单击滑块箭头向上和向下滚动时,它都会再次启用该按钮并自动向下滚动到底部。单击一行并使用箭头键向上滚动对我有用。 @JustinDanielson:在某些情况下,首选项的 Android 部分中有一个设置可以自动启用自动滚动。如果您愿意,可以禁用它。 哇,这是很久以前的事了。当我在做 Android 开发时,我使用了这个设置,但是 Eclipse 或 LogCat 中的一个错误会导致自动滚动打开和关闭。无尽的挫败感。 非常感谢亲爱的..我讨厌日食..有时。 谢谢乔恩。在 linux/gnome 系统上,似乎有一个错误会频繁触发自动启用滚动锁定。更改首选项是一种解决方法。【参考方案3】:这个问题可能是几年前的问题,但由于它首先出现在 Google 中,所以我将把它放在这里。
在 Eclipse 中,转到 Window
、Preferences
。在Android
下,有一个类别LogCat
。在此类别中,有一个选项Automatically enable/disable scroll lock based on the scrollbar position
。
取消勾选此项可禁用自动滚动。
【讨论】:
我对 Eclipse 的自动滚动和过滤功能感到非常沮丧,所以我制作了 LogRabbit。也许它也可以帮助你? lograbbit.com @Yepher,看起来棒极了!不幸的是,我不在 Mac 上工作。有基于 Windows 的版本的计划吗? 是的,如果它对 Mac 用户有帮助,我确实计划将它移植到 Windows。【参考方案4】:我找到了一个快速解决方法。在 Logcat 中,将滚动条滑到顶部。当需要自动滚动时,滑动到底部。您也可以使用箭头键。
【讨论】:
【参考方案5】:我同意呃……你自己的回答。您没有提供有关环境的任何详细信息,因此我可能跑题了,但这里是我在 GNU/Linux 下的经验(根本不使用 Eclipse):
首先,我总是将应用程序范围的标签定义为项目常量,并使用该标签与scripts/log
简单的 bash 脚本(在版本控制系统中检查)进行过滤,如下所示
#!/bin/bash
adb logcat LoaderManager:V MyApplicationTag:V MyExternalButInvolvedProvider:V SomeDepLibProjectTag:V *:E | ./scripts/coloredlogcat
使用*:E
,我捕获所有错误并微调相关标签的详细程度。
我使用合理的终端历史大小和the excellent coloredlogcat python script。使用终端,只需移动到焦点行即可停止自动滚动而不停止记录……我只需移动到最新的行或按某个键即可再次自动滚动。
【讨论】:
以上是关于如何禁用 Logcat 中的自动滚动功能?的主要内容,如果未能解决你的问题,请参考以下文章
底层模型更改时如何在 QTableView 中禁用自动滚动到顶部?