如何过滤logcat以删除无关的日志记录。

3

我是Android Studio的新手,使用最新版本,并尝试编写一个基本的计算器应用程序。

由于某种原因,我的logcat充满了以下内容:2021-01-11 14:38:35.288 6938-6938/? W/cmd: Can't find service car_service

这对调试非常烦人。

我该如何摆脱它?

2个回答

4

我会修改我的评论为答案,因为它实际上有所帮助:

在Android Studio底部点击Logcat,然后(我猜)你的将显示“无过滤器”,将下拉菜单更改为“仅显示选定的应用程序”。这里没有太多可以解释的,除非你不像这样设置,否则logcat将打印与你的应用程序无关的东西,以及来自自己应用程序的日志


你是100%正确的。更改为仅显示所选应用程序即可解决问题。谢谢。 - SoaAlex

2
此外,对于所有未来的读者... Android Logcat非常冗长,特别是在模拟器上(许多事情都会引发错误/警告),但不仅限于此;三星设备输出的日志比有用信息更多(而且他们并不是唯一这样做的),因此保持其在Android Studio中的logcat过滤器的正则表达式功能下(滥)用一些控制方式是可行的。

E.g.:

创建新的LogCat筛选器并按标签、消息或软件包进行筛选(或像我一样同时选择这三个):
这是我在“消息”中使用的示例:
^((?!EGL_emulation|eglCodecCommon|OpenGLRenderer|MicroDetectionWorker|MicroDetector|KeyguardClockSwitch|adbd|OIMC|base.apk|wakelock|com.google.android.apps.youtube.music).)*$

您可以编辑/添加更多内容,或为LogTag、Message或Package Name重复此过程。
这主要是试错的过程。(有些设备通过logcat输出不同的垃圾邮件)。
我对这个“非常过滤的应用程序”输出的Log Tag过滤器是:
^((?!vendor.qti.bluetooth|AppDynamics|KeyguardUpdateMonitor|BatteryExternalStatsWorker|BatteryStatsService|tftp_server|Clock|libc|OnePlusSmartBoostManager|OnePlus|ANDR-RAMBOOST_SERVER|BoundBrokerSvc|DateView|BatteryStatsHelper|BoundBrokerSvc|RenderThread|FacsCacheGmsModule|DownloadProgressMonitor|MendelPackageState|GoogleTagManager|SELinux|Volley|ConfigFileUtils|NetRec|YouTubeMusic|GEL_DELAYED_EVENT_DEBUG|gms|AsyncOperation|angh|ContentCacheSuperpacksManager|SuperpacksManager|AwarenessClientProvider|WakeLock|GLSUser|perfetto|cmd|chatty|Binder|Fitness|Icing|GnssHAL_GnssInterface).)*$

"并且对于软件包名称:"
^((?!EGL_emulation|eglCodecCommon|OpenGLRenderer|MicroDetectionWorker|MicroDetector|KeyguardClockSwitch|adbd|OIMC|base.apk|wakelock|com.google.android.apps.youtube.music).)*$

当然,你所需求的可能会有所不同,有时我会根据需要编辑并添加/删除一些部分。这是它的外观:

Image of Android Studio Dialog creating a New Logcat Filter

LogCat bar showing the Regex Checkbox checked and selected Filter created above


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接