프로그래밍/안드로이드

펌자료) 안드로이드 로그관리.

가카리 2013. 10. 28. 21:01
반응형

프로젝트를 진행하다보면 거의 모든 매소드에 로그를 사용하는데 


개발중엔 상관없지만 배포 할 때 로그를 안나오게 하는것이 바람직합니다.


이 때, 수 십개의 클래스를 돌아다니며 로그를 지우는 것도 일이지만 


만약 배포 후 버그가 나온다면 지웠던 로그를 다시 작성해야 되는 일이 생깁니다.


이런 불상사를 방지하는 방법이 로그 클래스를 만들어 관리를 해주는 것입니다. 

 

public
class RbLog {
 
    /** Disable Debug */
    // public static boolean D = false;
 
    /** Enable Debug */
    public static final boolean D = true;
 
    public static void d(String tag, String msg) {
        if (D && tag != null && msg != null)
            Log.d(tag, msg);
    }
 
    public static void d(Activity activity, String msg) {
        if (D && activity != null && msg != null)
            Log.d(activity.getLocalClassName(), msg);
 
    }
}

 

 

위와 같이 d 라는 로그찍는 매소드를 만들어 static으로 선언하게 되면 


1
RbLog.d(TAG, "Log Test");


이렇게 로그형식으로 똑같이 사용 할 수 있게 됩니다.


개발을 완료하고 배포할 때 boolean형태의 D 변수를 false로 활성화시키면 


d 매소드 조건문에 의하여 if를 통과 못하게되고 모든 로그가 찍히지 않게됩니다. 


버그가 발견되어 다시 디버그를 하고싶을 땐 true로만 바꿔주면 곳곳에 심어놨던 로그들이


다시 찍히게 됩니다. 


추가로 i, e 등의 매소드도 만들어 사용 할 수 있습니다.

 

 

출처 : http://muzesong.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%89%AC%EC%9A%B4-log-%EA%B4%80%EB%A6%AC