Android 개발을 하면서 과정에서 제일 많이 경험하는 과정 중에 하나가 로그를 이용한 분석일 것이다.
로그는 실시간으로 앱을 디버깅하며 문제를 분석하는데 매우 중요한 역할을 한다.
이번에 Android Studio 가 Eel 로 업데이트되며, 더 잘 활용할 수 있는 방법을 알아보도록 하자!
창 띄우기
Locat 창은 하단의 탭에서 확인할 수 있겠지만, 만일 없다면 View> Tool Windows > Logcat 에서 켤 수 있다.
이번 Android Studio eel 에서 로그 캣을 처음 킨 사람이라면 새삼 달라진 UI 에 당황할 수도 있을것이다. (사실 본인이 그러하여, 해당 포스팅을 작성하게 되었다.)
여러 창 띄우기
로그 탭에서 + 를 누르거나, 특정 탭에서 split right 등을 수행하여 2개의 탭을 동시에 띄울 수 있다. 각자 다른 쿼리들을 입력해서 원하는 로그들을 한번에 비교하는 것도 가능해졌다.
로그의 구성
각 로그는 날짜, 타임 스탬프, 태그, 패키지 이름 등의 정보를 담고 있다. 태그마다 고유한 색상이 있어서 FATAL, ERROR, WARNING, INFO, DEBUG, VERBOSE 로 우선순위(level)가 제공된다.
기본적으로 메시지 줄은 아래와 같이 DateTime, Process Id, TAG, PackageName, 우선 순위, 로그 메시지의 형태로 구성된다.
본인의 경우 이렇게 까지 디테일하게 로그를 활용하지 않기 때문에 이러한 Standard 설정은 보기가 불편한 면이 있었다.
Locat Format 변경
이럴 경우 Logcat 의 Format 을 변경할 수 있다.
해당 모양의 Formatting Options 메뉴에 가서, 보면 아래와 같이 설정 창이 나올 것이다.
본인의 경우, TimeStamp 는 금일 시간 기준으로 파악하기 때문에 DateTime > Time 으로 변경해주었고, Tag 의 경우 파일/클래스 명과 같이 길게 지정될 수 있기 때문에 조금 늘리고, ProcessId 는 잘 활용하지 않아 꺼주었다.
이렇게 설정하면 아래와 같이 간략한 모습으로 로그를 확인할 수 있다.
Log 검색
eel 에서는 기본 쿼리 필드에서 바로 키-값의 형태로 검색을 생성할 수 있다.
우선, 검색 창에서 ctrl+space 를 누르면 권장하는 쿼리들이 나온다. 키값으로 tag, package, message, level 등을 사용할 수 있다.
불일치는 ‘-’ 를 추가하여 표현하고, 일치는 ‘~’를 이용하여 표현한다.
예를 들어 아래와 같다.
level:error
- 우선순위가 E 인 로그들만 출력해준다.
message:agent
- message 에 agent 가 포함된 로그들을 출력해준다.
-tag:viewmodel.*
- tag 에 뷰모델로 시작하는 것들을 제외한다.
tag~:viewmodel.*
- tag 에 뷰모델로 시작하는 것들을 포함한다.
그 외의 자주 쓰이는 쿼리는 is 이며 아래와 같다.
is:crash
- 크래시 항목을 보여준다.
is:stacktrace
- stacktrace 항목을 보여준다.
즐겨찾기/History
이번 로그 캣의 변화에서 사람들이 가장 반기는 것들 중 하나는, 즐겨 찾기라고 한다. 검색할 때, 옆에 스타를 누르면 필터링을 선택하면 우선순위로 뜨는데 이를 이용해 기존에 긴 쿼리들을 기억하거나 다시 입력할 필요 없이 쉽게 검색할 수 있다.
비정상 종료 후 로그 추적
그리고, 앱이 죽었다가 다시 살아나면 원래 로그 캣이 다시 시작되어 기존 세션이 유지 되지 않아 로그를 확인하기 어려움이 있던 시절의 Android studio 를 기억할 것이다.
이제 eel 에서는 라인에 세션의 종료 및 재시작의 표시가 되고 새션이 유지된다.
참고 링크
- 셀프 뻘짓
Uploaded by
N2T