QA Engineering/End to End Test

[업데이트] 안드로이드 단말 검증 logcat으로 로그 분석

일해라폴폴 2023. 9. 20. 13:46
반응형

안드로이드 기기에서 Logcat이나 커널메시지 명령어 등으로 앱에서 발생한 이슈의 로그를 트레이싱해 원인 분석에 사용 할 수 있습니다

1) 로그 캣(Logcat) 사용:
- adb logcat: 실시간 로그 메시지를 표시합니다.
- adb logcat -d: 버퍼에 저장된 로그를 표시합니다.
- adb logcat -v <format>: 로그 포맷을 지정합니다. 예를 들어, -v long은 자세한 정보를 표시합니다.
- adb logcat -s <tag>: 특정 태그(tag)로 필터링된 로그를 표시합니다.

2) 다른 로그 파일 검색:
- adb shell dmesg: 커널 메시지를 표시합니다.
- adb shell cat /proc/kmsg: 커널 로그를 표시합니다.
- adb shell dumpsys 명령어로 다양한 시스템 서비스의 상태 및 로그 정보를 검색할 수 있습니다. 예를 들어, adb shell dumpsys batterystats는 배터리 통계 정보를 표시합니다.

3) 로그 저장:
- adb logcat -f file_name: 로그 메시지를 파일로 저장합니다.
- adb logcat -r <max_file_size>: 로그 파일을 자동으로 분할합니다. -r 뒤에 최대 파일 크기를 지정합니다.

4) 필터링 및 검색:
- grep: 로그 메시지에서 원하는 텍스트를 검색합니다. 예를 들어, adb logcat | grep "Error"는 "Error"라는 키워드를 포함하는 로그 메시지를 표시합니다.

5) 로그 레벨 필터링:
- adb logcat *:<log_level>: 특정 로그 레벨에 대한 메시지만 필터링합니다. 예를 들어, adb logcat *:E는 오류 메시지만 표시합니다.

6) 시간 필터링:
- adb logcat -t <time_in_seconds>: 최근 일정 시간 동안의 로그 메시지만 표시합니다.

7) 로그 저장 및 지우기:
- adb logcat -c: 현재 로그 버퍼를 지웁니다.
- adb logcat -f file_name -r <max_file_size> -n <num_files>: 로그를 파일에 저장하고 지정된 개수의 파일을 유지합니다.

예제) pmlist로 캘린더 앱을 확인 한 후 logcat을 이용해 로그를 트레이싱
logcat@qatesst /Applications % adb shell pm list packages | grep 'calendar'
package:com.android.providers.calendar
package:com.samsung.android.calendar
package:com.google.android.syncadapters.calendar
logcat@qatesst /Applications % adb logcat | grep "com.samsung.android.calendar"

반응형