Answers:
如果您正在使用adb logcat
,则可以通过grep传递它,并使用它的反向匹配:从grep手册页:
v,--invert-match反转匹配感,以选择不匹配的行。
例如:
$adb logcat | grep --invert-match 'notshownmatchpattern'
您可以使用正则表达式进行扩展。
这是一个这样的表达式的例子:
"/^(?:emails|tags|addresses)"
这将检查给定的任何一个发生,然后grep将不列出它们。
grep
是标准的Unix命令。对于Windows,您可以尝试find /V "notshownmatchpattern"
。PS显然,adb shell也有一个grep
。但这与标准的unix不同grep
!
您可以在DDMS Monitor(以及Eclipse或Android Studio)中使用正则表达式输入框和否定的前瞻性断言来执行此操作,例如,通过以下操作,我从日志中排除了很多噪音:
tag:^(?!(WifiMulticast|WifiHW|MtpService|PushClient))
(“ tag:”不是正则表达式的一部分,但告诉LogCat仅将正则表达式应用于Tag字段。如果在已保存的过滤器中使用此技巧,则只需将正则表达式放在“ Tag”输入框中,并省略“ tag:”前缀)
在Android Studio的logcat监视器窗格中,您可以通过打开右上角的下拉菜单(可能已选择“仅显示选定的应用程序”)并选择“编辑过滤器配置”来为此设置保存的过滤器。创建一个新的logcat过滤器并放入^(?!(WifiMulticast
... etc。))
在“日志标签”框中,Regex
选中该复选框。
如果要在Android Studio中按标签名称排除或过滤某些消息,请转到LogCat窗口=>“编辑过滤器”配置,然后在“通过Log Tag(regex)”下输入以下内容:
^(?!(tag1|tag2|tag3|tag4))
请注意,没有空格,这很重要
^(?!tag1)
^(?!.*(WindowManager|dalvik|Environment|DataRouter|AlarmManager)).*$
这将排除具有WindowManager,dalvik,...内容的文本
tag:^(?!.*(WindowManager|dalvik|Environment|DataRouter|AlarmManager)).*$
这将从logcat中排除WindowManager,dalvik,...标签
^(?!(WifiMulticast|WifiHW|MtpService|PushClient|EGL_emulation|OpenGl*|InputReader|art|dalvik|Environment|DataRouter|AlarmManager|WindowManager|PhoneStatusBar|ActivityManager|ResourceType|PackageManager|gralloc*))
在外壳程序中,您可以使用类似以下的命令:
adb logcat AlarmManagerService:S PowerManagerService:S *:V
其中将包含除带有AlarmManagerService
和PowerManagerService
标签的日志以外的所有日志。
(:S
“ silent”的意思是,这些标签不会打印任何内容;:V
“ verbose”的意思是,所有其他标签都会打印所有内容。logcat的Android文档提供了您可以在其中使用的其他选项的更多详细信息过滤器。)
您还可以使用ANDROID_LOG_TAGS
环境变量来设置默认过滤器,例如(在bash中):
export ANDROID_LOG_TAGS="AlarmManagerService:S PowerManagerService:S *:V"
S
是“沉默的”。正如您所建议的,我已经更新了答案以对此进行解释。
结合使用正向和负向前瞻功能进行更强大的过滤。
例:
(?=(AndroidRuntime|Main|RandomTag))(?!(Audio))
包括第一个嵌套括号中的标记。
排除第二个标签。
这是我用来忽略Samsung系统日志的过滤器列表。也可以与其他设备一起使用。
Logcat->编辑过滤器配置->日志标签
^(?!(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|android.hardware.wifi@1.0-service|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))