如何过滤logcat去除不相关的语句

How to filter logcat to remove irrelevant statements

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

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

这对调试来说真的很烦人。

我怎样才能摆脱它?

我会将我的评论更改为答案,看起来好像它确实有帮助:

单击 android 工作室底部的 logcat,然后(我假设)你的工作室将显示 no filters,将下拉菜单更改为 show only selected application。我不能在这里解释太多,除了如果你没有这样设置,logcat 除了你自己的应用程序的日志之外,还会打印出与你的应用程序无关的东西

此外,对于所有未来的读者... Android Logcat 非常冗长,尤其是在模拟器上(很多东西都会抛出 errors/warnings)但不限于;三星设备吐出的日志多于有用的信息(而且它们并不孤单),因此将其置于某些控制之下的一种方法是(ab)使用[=50的正则表达式功能=] 在 Android Studio 中过滤。

例如:

创建一个新的 LogCat 过滤器并按标签、消息或包(或像我一样的所有 3 个)进行过滤:

这是我在“消息”中使用的示例:

^((?!EGL_emulation|eglCodecCommon|OpenGLRenderer|MicroDetectionWorker|MicroDetector|KeyguardClockSwitch|adbd|OIMC|base.apk|wakelock|com.google.android.apps.youtube.music).)*$

您可以 edit/add 对这些 and/or 重复 LogTag、消息或包名称。

这主要是反复试验。 (一些设备通过 logcat 吐出不同的垃圾邮件)。

这个“非常过滤的应用程序”输出的我的日志标签过滤器是:

^((?!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).)*$

当然你的里程会根据你的需要而变化,有时我会编辑这些和add/remove一些我认为合适的部分。

这是它的样子: