본문 바로가기

Android

[Android] 깔끔한 Log를 사용하여 생산성 향상하기

개요

개발을 하며 중간중간 디버깅을 위해 로그를 작성하여 Android Studio의 Logcat을 통해 확인하곤 합니다.
안드로이드에서 기본으로 제공하는 android.util의 Log를 많이 사용하는데,
로그 작성을 위해 별도의 태그를 지정해야 하고 해당 로그의 구체적인 정보를 포함하지 않습니다.

 

그래서 로그를 깔끔하고 보여주고 로그의 구체적인 정보를 출력하는 Logger 라이브러리를 소개하고자 합니다.

 

우선, 안드로이드에서 기본으로 제공하는 Log와 Logger 라이브러리를 통해 출력되는 로그를 비교해 봅시다!

Log.d(tag, "Hello HomeFragment!")
Logger.d("Hello HomeFragment!")

 

예시로 HomeFragment에서 "Hello HomeFragment!"라는 로그를 작성해 보았습니다.
차이가 보이시나요?

 

Logger 라이브러리를 사용한 경우 해당 로그의 메시지뿐만 아니라 아래와 같은 특징이 있습니다.

  • 어떤 Thread에서 생성되었는지
  • 해당 클래스의 어떤 메서드에서 호출되었는지
  • 어떤 라인에서 출력했는지와 해당 로그의 링크

적용방법

1. build.gradle(:app) 앱 모듈에서 Logger 라이브러리를 추가하고

implementation 'com.orhanobut:logger:2.2.0'

2. Application 클래스에서 Logger 초기화
애플리케이션의 id를 태그로 설정하면 해당 태그들의 로그만 확인할 수 있다

val formatStrategy = PrettyFormatStrategy.newBuilder()
    .tag(BuildConfig.APPLICATION_ID)
    .build()
Logger.addLogAdapter(AndroidLogAdapter(formatStrategy))

3. 로그 출력

Logger.d("Hello HomeFragment!")

 

이 특징들을 통해 로그를 깔끔하게 출력하여 디버깅 시 생산성을 향상시킬 수 있습니다.

공식 문서를 보면 더 다양한 옵션들이 있고,
json, xml 형식의 데이터 출력도 지원하기에 참고하면 좋을 것 같습니다.

참고

https://github.com/orhanobut/logger