본문 바로가기
안드로이드 자바

[JAVA][Android] Logger 라이브러리 사용하기

by teamnova 2021. 10. 13.
728x90

안녕하세요. 이번 시간에는 로거 라이브러리를 사용하여 로그를 좀 더 보기 쉽게 찍어 보도록 하겠습니다.

저는 이 로거 라이브러리를 사용하는 이유가 2가지가 있습니다.

 

첫 번째 이유는 JSON 형태의 데이터를 좀 더 보기 쉽게 찍을 수 있다는 장점이 있습니다. 

두 번째 이유는 Logcat에 찍힌 로그를 클릭하면 스크립트 위치로 바로 갈 수 있습니다.

 

Logger 사용시 찍히는 로그

 

사용 방법은 다음과 같습니다.

 

1. 의존성 주입

App Grddle에 다음과 같이 의존성을 주입해 줍시다. 

   // logger
    implementation 'com.orhanobut:logger:2.2.0'

 

2. Application Class 만들어 로그 추가하기

Logger을 사용할 때 Application를 상속받는 Class에 선언해주면 보다 편리하게 사용할 수 있습니다.

 

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
                .showThreadInfo(false)  // (Optional) Whether to show thread info or not. Default true
                .methodCount(2)         // (Optional) How many method line to show. Default 2
                .methodOffset(0)        // (Optional) Hides internal method calls up to offset. Default 5
                .tag("PRETTY_LOGGER")   // (Optional) Global tag for every log. Default PRETTY_LOGGER
                .build();
        
        Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));
    }
}

 

저는 특히 이 로그를 예제 파악할 때 많이 사용하는데요. 그때마다 이것을 치는게 불편해서 Stick Code에 등록하여 사용하고 있습니다.

https://stickode.com/detail.html?no=2519 

 

스틱코드

 

stickode.com

 

Android에서 Application을 사용할 때 Manifet에 Application 태그에 name을 입력해 줘야 합니다.

 

로그를 출력하는 코드는 다음과 같습니다.

Logger.d("debug");
Logger.e("error");
Logger.w("warning");
Logger.v("verbose");
Logger.i("information");
Logger.wtf("What a Terrible Failure");

// Collections are supported (only available for debug logs)
Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY);

// Json and Xml support (output will be in debug level)
Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);

Logger.d("string %s", "hello")
Logger.d("num %d", 3)