- 전체
- 명
- 오늘 찾아주신 분
- 명
\w+/(AndroidRuntime|System.(out|err))
안드로이드 개발하는데 가장 도움을 주는 보조프로그램이라 하면, Logcat 을 빼놓을 수가 없다. 디버깅 할 때에나 원하는 결과값을 보거나 할 때에는 Logcat 만큼 한 눈에 볼 수 있는 보조프로그램은 없기 때문에 이것만 잘 활용하더라도 초보 개발자에겐 개발의 질이 확연히 높아질 수 밖에 없다.
이 포스팅은 Logcat 을 사용하는 방법 중에 정규식(Regex) 을 이용하여 보고싶은 태그들만 Logcat 내용을 간단하게 필터링하는 방법에 대해 소개를 해보려고 한다.
보통 핸드폰을 연결하거나 하게되면 오지게 많은 양의 Logcat 데이터가 출력이 되는데,
과연 이 데이터를 전부 봐야할 필요가 있을까 싶다. 게다가 너무 많은 양이 보이기 때문에 정작 내가 앱에서 어떤 로그를 뿌려주는 것도 한번에 캐치하기 어려울 때가 존재한다.
물론 Logcat 이 'No debuggable processes' 상태이기 때문에 디바이스 시스템의 로그가 전부 튀어나오는 상황이긴 하지만, 앱을 스튜디오를 통해 돌리고 있는 상황에도 충분히 필터링은 필요할 것이다. 그래서 Logcat 에서는 Filter Configuration 을 통해서 필터링을 할 수 있도록 도와주기도 하지만, 굳이 만들지 않아도 정규식으로 간단하게 조회할 수 있다는 것이다.
바로 이 창에다가 정규식을 입력하면 된다.
정규식을 어떻게 짜야 할까 생각을 할텐데, 먼저 Logcat 의 형식을 보도록 하자
2022-05-16 11:01:37.791 10128-10145/? I/System.out: Broadcast completed: result=0
- 2022-05-16 11:01:37.791 : Logcat 에 출력되는 시점
- 10128-10145/? : 돌아가는 앱의 PID 부분
- I/System.out : Log 레벨과 태그 부분
- Broadcast ..... : Log 내용
이 검색창에 문자열을 입력을 하게 되면, Logcat 은 어쨌든 일반 텍스트이기 때문에, 앞 문자인 날짜 형식부터 읽어들이게 된다. 여기서 필요한 내용을 정규식을 통하여 필터링해줄 수 있는데, 그 부분이 바로 [Log 레벨과 태그 부분] 을 이용하는 것이다
형식이 일정하기 떄문에 정규식을 짜는데에는 어렵지가 않다. 큰 틀을 짜본다면 이렇게 짤 수 있다.
\w+/(TAG_NAME)
TAG_NAME 에는 필터링하고자 하는 태그명을 넣어주면 되는데, 필터링 하고자하는 태그가 여러 개인 경우에는 정규식에서 OR 를 담당하고 있는 '|' 를 사용하도록 한다.
간단하게 사용하고 있는 걸로는,
\w+/(AndroidRuntime|System.(out|err))
이거를 사용하고 있다. 에러 로그만 확인하면 좋을 것 같아서 3가지 유형의 태그를 출력하도록 구성하였다.
[Android] Custom View 에서의 롱클릭 후 드래그 허용하기 (0) | 2023.06.07 |
---|---|
Groovy 에서 KTS 로 변경하기 (1) | 2023.01.26 |
[Android] Web 에서 App 으로 데이터를 받아보자 (0) | 2022.02.04 |
[Android] Glide with PDF -3(완결)- (0) | 2022.02.04 |
[Android] Glide with PDF -2(ModelLoader, DataFetcher)- (0) | 2022.01.31 |