728x90
반응형
코드를 짜는 개발중에는 좀 더 상세한 파악을 위해서 작동하는 코드의 중간중간마다
아래와 같이 Log를 붙여놓아야 문제가 발생할경우 헤메는 경우를 줄일 수 있습니다.
Boolean result = false;
public void somethingWork_A() {
Log.d("로그 somethingWork_A",String.valueOf(result));
result = true;
startSomething_A()
}
public void startSomething_A() {
result = false;
Log.d("로그 startSomething_A",String.valueOf(result));
}
보통 개발중에는 코드의 여기저기에 위와 같이 로그를 붙여놓고 사용하고
개발이 끝난 후에는 부분에는 로그가 필요없으니 로그를 삭제합니다.
그런데 종종 개발을 위해 사용중인 기기를 PC에 물려 Logcat을 보면
사용중인 다른 앱 여기저기에서 Log가 뜨는 경우를 확인할 수 있습니다.
개발이 끝난 뒤에도 사용했던 로그를 지우지 않았기 때문에
개발할 때 사용했던 로그가 그대로 노출되는 것으로 생각됩니다.
Log를 일일이 찾아서 지우는 일이 제법 번거롭고 놓치는 경우가 있어서
저도 앱 배포후에 다음 버전 테스트를 할 때 경험했던적이 있습니다.
이게 너무 번거로워서, 아래와 같이
배포버전이 아닌 테스트 할때만 Log가 뜨는 DevLog Class를 만들어서 사용하고 있습니다.
DevLog.class
import android.util.Log;
import co.somethings.someapp.BuildConfig;
public class DevLog {
private static final String TAG = "로그";
public static void d(String msg) {
if (BuildConfig.DEBUG) {
Log.d(TAG, msg);
}
}
}
사용은 아래와 같이 해주시면 됩니다.
public void somethingWork_A() {
DevLog.d("Work failed");
result = true;
startSomething_A()
}
앱을 빌드하면 BuildConfig.java 파일이 자동으로 생성되는데 여기서
해당 빌드 타입이 DEBUG인지 확인 한 후에 로그를 띄워주도록 되어 있어서
개발 중이던, 개발 후던 로그를 지울 필요가 없고
DEBUG가 아닌 배포버전에서는 로그가 뜨지 않아 확인할 수 없습니다.
728x90
반응형
'Android > Dev' 카테고리의 다른 글
AndroidStudio 4294967201 오류 ::: AMD CPU를 사용하는 시스템에서 AVD 사용을 위해 android emulator 설치할 때 (2) | 2021.04.01 |
---|---|
A failure occurred while executing com.android.build.gradle.--- 빌드 or APK 생성시 해당 오류가 발생할 때 (2) | 2020.12.09 |
webview의 loadData 사용 시 화면에 아무것도 나타나지 않을때 (0) | 2020.07.20 |
CheckBox, switch 등을 ReadOnly처럼 사용하기 (0) | 2020.06.02 |
기기의 지역(Locale) 판별 및 리소스 사용하기, 국가코드와 언어코드 (0) | 2020.05.28 |
댓글