Programming/Mobile

[안드로이드] Android 앱 개발 시에만 로그 남기기

tavris 2017. 4. 30. 02:14

[안드로이드] Android 앱 개발 시에만 로그 남기기



안드로이드 스튜디오 Logcat



앱을 개발 할 때, 오류나 데이터의 정보를 확인하기 위한 방법이 많지 않아 대부분 Log를 사용하는데,

Deubg에서만 표시되야 할 로그의 정보가 Release에서도 표시되는 일이 종종 발생합니다.


이렇게 로그가 Release에서도 표시되면, 보안쪽에도 문제가 생기고 기분이 영...

그렇다고 해서 클라이언트들에게 "로그보지마세요~" 할 수도 없는 일이고..


해결 방법을 찾다가 Debug 시에만 표시되는 로그를 만들면 되겠다는 생각이 들더군요.

생각보다 꽤 간단합니다.


바로 BuildConfig.Debug를 사용하면되는데, BuildConfig.Debug는 Debug시에는  True, Release시에는 False가 된다고하네요.

검색으로 찾은 내용이라... 믿을 수가 없어서 집적 배포중인 앱에 테스트를 해봤는데 아직까지는 괜찮은 것 같군요. 정상적으로 동작합니다... 올레!!


사용법은..

BaseActivity 쪽이나 필요한 곳에 코드를 추가하면 되는데, 코드는 아래처럼 해주시면됩니다.



protected final static String LOG_TAG = "<-<Stock> ";

public static void PrintLog(String type, String logText) {
if(BuildConfig.DEBUG) {
switch (type) {
case "D": android.util.Log.d(LOG_TAG, logText); break;
case "I": android.util.Log.i(LOG_TAG, logText); break;
case "W": android.util.Log.w(LOG_TAG, logText); break;
case "E": android.util.Log.e(LOG_TAG, logText); break;
}
}
}




저 같은 경우에는 해당 파일을 유틸리티화 해서 기본적으로 앱 개발 시 포함되도록 설정했습니다.


사소한 부분이지만 보안에는 치명적인 부분이 될 수 있기때문이죠.


파일을 따로 첨부하지 않도록 하겠습니다. 굳이,. 몇줄 안되는거라 ㅎㅎ