1. Log?
- 코딩을 할 때 코드의 흐름을 파악하기 위해 앱 외부에 출력하는 정보
- 디버거를 사용할수도 있지만 매번 사용하기엔 번거로움으로 한번 설정으로 해당 코드 흐름을 확인할 수 있음
2. Logcat?
- 안드로이드 디바이스에서 발생하는 로그 메시지를 표시하는 도구
- 개발자가 앱 실행 중에 발생하는 로그를 실시간으로 확인하고 디버깅 및 모니터링을 수행할 수 있도록 도와줌
3. Log Level
1) Log.v
- Verbose
- 가장 낮은 로그 레벨
- 상세한 디버깅 정보 기록
2) Log.d
- Debug
- 디버깅 목적으로 사용
- 중간 단계의 디버깅 정보 기록
3) Log.i
- information
- 일반적인 정보나 앱의 주요 이벤트 기록
4) Log.w
- warning
- 경고 메시지 기록
- 잠재적인 문제를 나타냄
- 앱은 계속 실행됨!
5) Log.e
- error
- 오류 메시지 기록
- 앱이 예외 또는 오류 상태에 도달한 경우 사용
4. WriteLogs
TAG
는 상수로 선언하는게 좋음!
- 태그 이름이 23자(영문 기준)를 초과하는 경우 Logcat 출력에서 잘림
Log.v("Tag", "Verbose 메시지")
Log.i("Tag", "Information 메시지")
Log.d("Tag", "Debug 메시지")
Log.w("Tag", "Warning 메시지")
Log.e("Tag", "Error 메시지")
5. How to Use Logs
1) 적절한 로그 레벨 선택
- 각 로그 레벨은 다른 목적을 가지고 있으므로, 상황에 맞게 적절한 레벨을 선택해야 함
- ex. 디버깅 메시지는 Log.d를 사용하고, 중요한 이벤트는 Log.i로 기록함
2) 로그 태그 사용
- 로그 태그는 로그 메시지를 그룹화하고 식별하는 데 사용됨
- 태그를 잘 정의하고 유용한 정보를 포함하도록 노력해야 함
3) 릴리스 버전에서 로그 비활성화
- 앱을 릴리스할 때 디버깅 목적의 로그를 비활성화해야 함
- 프로덕션 빌드에서 로그를 제거하거나 비활성화하는 기술을 사용할 수 있음
4) 필터링 및 검색
- Logcat에서 로그를 확인할 때 필터링 옵션을 사용하여 특정 태그 또는 로그 레벨로 로그 메시지를 필터링하고 검색할 수 있음
5) 예외 처리와 함께 사용
- Log.e를 사용하여 예외 정보를 기록하고, 예외 처리 코드 내에서 로그를 활용하여 문제를 추적하고 디버깅할 수 있음
[참고 사이트]
'Log', Developers
'Logcat'을 이용한 로그 작성 보기