로그 찍은 Class 이름, method 이름, 라인 수 를 표시해서 찾기 쉽게 로그를 찍는 로직임.
public class DLog {
// Todo : 배포시 false 변경
public static boolean D = true;
private static final int LOG_V = 0;
private static final int LOG_D = 1;
private static final int LOG_I = 2;
private static final int LOG_W = 3;
private static final int LOG_E = 4;
private static void log(int type, Exception e, String message) {
if (D) {
StackTraceElement l = e.getStackTrace()[0];
String fullClassName = l.getClassName();
String className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);
String methodName = l.getMethodName();
int lineNumber = l.getLineNumber();
String tag = className + "." + methodName + "():" + lineNumber;
switch (type) {
case LOG_V: Log.v("⚪️ " + tag, message); break;
case LOG_D: Log.d("🔵 " + tag, message); break;
case LOG_I: Log.i("🟢 " + tag, message); break;
case LOG_W: Log.w("🟠 " + tag, message); break;
case LOG_E: Log.e("🔴 " + tag, message); break;
}
}
}
public static void v(Exception e, String message) {
log( LOG_V, e, message);
}
public static void d(Exception e, String message) {
log(LOG_D, e, message);
}
public static void i(Exception e, String message) {
log(LOG_I, e, message);
}
public static void w(Exception e, String message) {
log(LOG_W, e, message);
}
public static void e(Exception e, String message) {
log(LOG_E, e, message);
}
}
// 사용방법
DLog.i(new Exception(), e.getMessage());
// 결과
// 클래스명 함수명 라인수: 로그 데이터
I/🟢 WebViewBridge.patternRegister():2021: {"pin_code":"YzU1UkxoOGxRbUdZRFFQQThDeEppUT09Ojp1dHRlcmR2em17YWNhaHR2","userId":"M000073927"}
'Android(Java)' 카테고리의 다른 글
[Java] 갤러리 이미지 추출하기 (0) | 2024.04.15 |
---|---|
[Java]WebView사용시 target=_blank 사용에 따른 onCreateWindow 호출되는 문제 (0) | 2024.04.12 |
[Java] ConstraintLayout LinearLayout Height 자동크기변경 (0) | 2024.04.05 |
[Java] AES(128,192,256)::iv 암복호화 (0) | 2024.03.29 |
[Java] 디바이스 정보가져오기[모델명,OS버전,Device ID] (0) | 2024.03.29 |