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
같은 방식으로 MyAppTag 및 OtherTag를 제외한 모든 것이 침묵 됩니다. 자세한 내용은 로그 출력 필터링 을 참조하십시오.
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
'Program Tip' 카테고리의 다른 글
Hudson과 CruiseControl for Java 프로젝트의 차이점은 무엇입니까? (0) | 2020.10.25 |
---|---|
C #을 사용한 연도의 날짜 차이 (0) | 2020.10.25 |
SQL Server에서 VARCHAR 열의 최대 길이 검색 (0) | 2020.10.25 |
'ProviderPackage'패키지가 올바르게로드되지 않았습니다. (0) | 2020.10.25 |
부모 구성 요소의 angular2 호출 함수 (0) | 2020.10.25 |