Program Tip

Eclipse LogCat 뷰어에서 태그 이름을 필터링하는 방법

programtip 2020. 10. 25. 12:47
반응형

Eclipse LogCat 뷰어에서 태그 이름을 필터링하는 방법


LogCat을 "스팸"처리하는 Android 애플리케이션이 있으며 출력을 더 읽기 쉽게하기 위해 해당 logcat 항목을 제거하고 싶습니다.

특정 태그 이름에 대한 LogCat 항목을 제거하는 필터를 가질 수 있습니까? 아니면 트릭을 수행하는 검색 패턴?


예. "로그 태그 별"필드가있는 필터를 만듭니다.

^(?!.*(MYTAG)).*$

MYTAG보고 싶지 않은 태그는 어디에 있습니까 ? 나는 정규 표현식 전문가 ( "regexpert"? ;-))가 아니므로 부정을 수행하는 더 간단한 방법이있을 수 있지만 방금 시도해 보았습니다.

Log Cat 메시지 영역 바로 위에있는 필드에서 다음과 같이 필터 문자열을 입력하여 필터를 사용할 수 있습니다.

tag:^(?!.*(DeskClock|dalvik|wpa)).*$

"DeskClock", "dalvik"및 "wpa"태그 제외한 모든 메시지를 표시합니다 .


이것은 질문과 직접적으로 관련이없는 것처럼 보일 수 있지만 여기 Rob이 설명한대로 태그 필터에 이것을 넣을 때 시스템 생성 로그의 대부분을 필터링하는 정규식이 있습니다 .

^(?!(WifiMulticast|WifiHW|MtpService|PushClient|InputMethodManager|Provider|SurfaceTextureClient|ImageLoader|dalvikvm|OpenGLRenderer|skia|AbsListView|MediaPlayer|AudioManager|VelocityTracker|Drv|Jpeg|CdpDrv|IspDrv|TpipeDrv|iio|ImgScaler|IMG_MMU|ResMgrDrv|JpgDecComp|JpgDecPipe|mHalJpgDec|PipeMgrDrv|mHalJpgParser|jdwp|libEGL|Zygote|Trace|InputEventReceiver|SpannableStringBuilder|IInputConnectionWrapper|MotionRecognitionManager|Choreographer|v_galz|SensorManager|Sensors|GC|LockPatternUtils|SignalStrength|STATUSBAR-BatteryController|BatteryService|STATUSBAR-PhoneStatusBar|WifiP2pStateTracker|Watchdog|AlarmManager|BatteryStatsImpl|STATUSBAR-Clock))

이 태그 목록을 다른 장치에서 테스트하는 동안 계속 업데이트합니다. 이 목록은 완전하지 않으며이 답변에 자유롭게 기여할 수 있습니다. 나는 이것이 많은 사람들을 위해 한 시간을 절약 할 것이라고 확신합니다.

필터링해야하는 다른 로그가있는 경우 '| ' 캐릭터.


logcat을 보는 방법에 따라 다릅니다.

GUI logcat 인터페이스를 사용하는 경우보고자하는 태그에 대한 필터를 만드는 것이 가장 좋습니다. 이들은 별도의 범주로 분류됩니다. UI가 약간 변경되었지만이 오래된 답변을 사용할 수 있습니다 . 이것이 어떻게 사용되는지 명확해야합니다 ( "저장된 필터 탭 표시"버튼을 눌러야합니다. 그렇지 않으면 "필터 추가"버튼이 표시되지 않습니다. 로그의 오른쪽 상단에서 찾을 수 있습니다) . 전체 로그 스트림에서 특정 태그를 필터링 할 수있는 옵션을 알지 못합니다.

명령 줄을 사용하는 경우 특정 태그를 음소거 할 수 있습니다. 예:

adb logcat AndroidRuntime:S *:V

모든 항목 ( *:V)을 자세한 로그 수준까지 표시합니다. 단, AndroidRuntime 태그 는 "silence" 로그 수준 으로 제한되어 아무것도 인쇄되지 않음을 의미합니다.

단일 태그를 표시하려면 다음을 사용할 수 있습니다.

adb logcat *:S MyAppTag:V OtherTag:V

같은 방식으로 MyAppTagOtherTag를 제외한 모든 것이 침묵 됩니다. 자세한 내용은 로그 출력 필터링 을 참조하십시오.


Android Studio (향후 Android SDK 버전과 함께 제공 될 IDE)에서 제대로 작동하도록 선택한 솔루션을 얻을 수 없었습니다. 그러나 다음 정규식이 내 문제를 해결했습니다.

^(?!dalvikvm)

트릭이 있습니다.

 Log.d(TAG, "MyTag" + message);

보시다시피 "MyTag"키로 필터링하면 내 태그의 로그 만 표시됩니다.


이것은 늦은 응답이지만 유용 할 수 있습니다. Eclipse 환경의 LogCat보기에는 테이블 위에 검색 상자가 있습니다. 비어 있으면 다음과 같이 표시됩니다.

메시지를 검색합니다. Java 정규식을 허용합니다. pid :, app :, tag : 또는 text : 접두사를 사용하여 범위를 제한합니다.

즉, tag : MyTag 또는 regex tag : My. * 를 작성하여 태그를 필터링 할 수 있습니다 .


앱에서 생성되지 않은 로그 메시지를 필터링하는 또 다른 방법은 다음을 선택하는 것입니다.

로그 수준 : Verbose

"선택한 응용 프로그램 만 표시"(필터 선택 드롭 다운에서)

그런 다음 logcat 창의 디버그 가능한 드롭 다운 목록에서 애플리케이션을 선택합니다.

앱의 로그 메시지와 출력 만 표시되어야합니다.

참고 URL : https://stackoverflow.com/questions/7889888/how-to-filter-out-a-tagname-in-eclipse-logcat-viewer

반응형