如何使用android adb logcat排除标签名称的某些消息? logcat允许过滤日志,但可以这样工作:您定义过滤器和logcat仅显示与过滤器匹配的消息。但是,有没有办法显示所有日志,除了f ...

问题描述 投票:0回答:9
,例如,我在日志中排除了很多噪声:

tag:^(?!(WifiMulticast|WifiHW|MtpService|PushClient))

android filter adb logcat
9个回答
228
投票

在Android Studio的LogCat Monitor Pane中,您可以通过打开右上角的下拉列表(可能只选择“仅显示选定的应用程序”)并选择“编辑过滤器配置”来为此设置保存的过滤器。创建一个新的LogCat过滤器并放置^(?!(WifiMulticast...等。

))
在日志标签框中,检查了
Regex

复选框。

如果您想在Android Studio中通过标签名称排除或过滤某些消息,请在logcat window =>“编辑过滤器配置”中,然后在“ by by by by log tag(Regex)下输入以下内容:”

^(?!(tag1|tag2|tag3|tag4))
注意没有空间,这很重要
    


80
投票
adb logcat

您可以通过GREP进行管道并使用其倒置匹配: 来自

grepmanpage

V, - 互换匹配 颠倒匹配的含义,选择非匹配线。

55
投票
例如:

$adb logcat | grep --invert-match 'notshownmatchpattern' 
您可以通过使用规范表达式

这里是这样一种表达式的一个例子:

"/^(?:emails|tags|addresses)"

这将检查一个给定的任何一个,GREP不会列出它们。

从外壳中,您可以使用以下命令:

adb logcat AlarmManagerService:S PowerManagerService:S *:V

将包括所有日志,除了具有

AlarmManagerService

PowerManagerService
tags的那些日志。

:S

44
投票
:V

代表“冗长”,这意味着所有其他标签都将打印所有内容。logcat

有您可以在过滤器中使用的其他选项的更多详细信息。)
您还可以使用
ANDROID_LOG_TAGS

环境变量来设置默认过滤器,例如(在bash中):

export ANDROID_LOG_TAGS="AlarmManagerService:S PowerManagerService:S *:V"
    

^(?!.*(WindowManager|dalvik|Environment|DataRouter|AlarmManager)).*$
这将排除具有内容的文本WindowManager,Dalvik,...

tag:^(?!.*(WindowManager|dalvik|Environment|DataRouter|AlarmManager)).*$

这将排除标签WindowManager,dalvik,...摘自logcat


combine既积极和负面的lookahead,又可以进行更强大的过滤。


39
投票

(?=(AndroidRuntime|Main|RandomTag))(?!(Audio))

包括第一个嵌套括号中的tag。

排名第二被排除在外。

新logcatv2您应该使用此示例:

-tag~: chatty|WifiHAL|HwBinder|Light|lsc_nvram|SensorService|thermal_repeater

,所以


17
投票
在logcat中,单击编辑过滤器配置,然后创建一个新的过滤器。 在日志标签输入中,您可以输入诸如

^(?!.*(OpenGLRenderer|ViewRoot))

之类的内容并添加其他令人讨厌的标签。

这里是我一直用来忽略

11
投票
系统日志的过滤器列表。也将与其他设备一起使用。

 -logcat->编辑过滤器配置 - > logtag

^(?!(PowerUI|PowerPlanningReceiver|BatteryService|SamsungPhoneWindowManager|MotionRecognitionService|AudioService|APM_AudioPolicyManager|SensorService|StorageManager|SignalClusterView|BatteryService|TelephonyManager|UsbDeviceManager|KeyguardUpdateMonitor|BatteryController|ActivityManager|LauncherAppsService|AppsModel|DataLoader|PackageManager|LauncherApps|ContactsImsCommon|ImsUtil|ImsSettingsProvider|DeviceConfigManager|WifiService|BackupManagerService|PersonaManagerService|DefaultDialerManager|ResourceType|NetworkUIGlobals|NetworkProxy|FileWriteThread|ReflectUtil|PhoneApp|SamsungAlarmManager|display|DeviceStorageMonitorService|wrapperGPS|io_stats|GnssLocationProvider|KeyguardServiceBoxContainer|ConnectivityService|SSRM|TLC_TIMA_PKM_initialize|mc_tlc_communication|TeeDriverClient|TLC_TIMA_PKM_measure_kernel|AutomaticBrightnessController|BatteryUtils|WifiConnectivityManager|Launcher|IconView|ApplicationPackageManager|LiveIconLoader|WifiScanningService|WifiHAL|WifiScanController|ApplicationPolicy|SELinux|TimaKeyStoreProvider|ActivityThread|zygote|GservicesProvider|GoogleHttpClient|cr_ChildProcessConnect|WificondControl|Netd|Tethering|ContactsImsCommon|ImsConstants|tnet-jni|BatteryStatsService|SignalClusterView|LiveIconManager|BitmapCacheContainer|com.samsung.android.app.powerplanning.utils.BatteryUtils|ReflectField|cr_ChildConnAllocator|TinLoadingFailTracker|WifiPermissionsUtil|EventHandler_FLP|[email protected]|BluetoothAdapter|bt_btm|WifiPermissionsUtil|GeofencerStateMachine|Places|GCoreUlr|BeaconBle|Sensors|SLocation|ContactsProvider_EventLog|WificondScannerImpl|AlarmManager|AlarmManagerEXT|MultiDex|NetworkSecurityConfig|DnsProxyListener|dalvik-internals|mobileconfig|SsacManager|ImsPhoneStateManager|VolteServiceModule|PdnController|PowerManagerService|GameManagerService|NoSync|SensorManager|DisplayPowerController|NetworkController|SamsungAnalytics111040|tlcFidoAuthnr|InputReader|FlashlightController|KeyguardWallpaperController|OpenGLRenderer|EasyMuteController|Vibrator|VibratorService|PowerManagerUtil|LightsService|WindowManager|InputDispatcher|InputReader|CustomFrequencyManagerService|SystemUIAnalytics|SamsungAnalytics|swipe|PanelView|BadgeCache|MARsPolicyManager|MARsDBManager|KeyguardClockPage|ScanManager|RegiMgrBase|secImsManager|GeolocationController|MultiSimUtils|CarrierText|Mms|NetworkNotificationUI2|CommandListener|ReschedulableTimer|RCS-ContactsImsCommon|Settings|DmConfigModule|NotificationMgr2|PhoneMultiSimUtils|PhoneProxy|VideoCapabilities|AudioCapabilities|SAIV_FACE|FaceController|FaceService|SamsungAnimationCreator|ImageWallpaper|Finsky|VirtualScreen|PagedView|DragLayer|HomeContainer|ImsServiceStub|DmConfigHelper|TZ))


5
投票
在Eclipse LogCat视图中没有这样的选择。但是,您可以使用日志级别来排除任何日志级别太低的消息。 E. g。将其设置为i(nfo)不显示D(ebug)和(v)erbose消息。

要排除LogCat中的特定标签,只需使用缩小符号( - ),然后使用“标签:”和LogCat搜索栏中的标签名称。 ex-

-tag:YourTagToExclude

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.