728x90
# 소스코드
1) Custom Log Message 제작
프로젝트에 utility라는 패키지를 추가한다.
패키지가 생성되면 LogMsgOutput 클래스 파일을 생성한다.
LogMsgOutput 클래스 파일 코드는 아래와 같다.
LogMsgOutput.java
package org.example.customlog.utility;
import android.content.Context;
import android.util.Log;
public class LogMsgOutput {
private static String lineOut() {
int level = 4;
StackTraceElement[] traces;
traces = Thread.currentThread().getStackTrace();
return ("at " + traces[level] + " ");
}
private static String buildLogMsg(String message) {
StackTraceElement ste = Thread.currentThread().getStackTrace()[4];
StringBuffer sb = new StringBuffer();
sb.append(" [ ");
sb.append(ste.getFileName().replace(".java", ""));
sb.append(" :: ");
sb.append(ste.getMethodName());
sb.append(" ] ");
sb.append(message);
return sb.toString();
}
public static void logPrintOut(Context context, String logMsg) {
//resources.getSystem().getString(R.string.execMode);
if("debug".equals("debug") == true) {
Log.d("MSG:::By-LogUtil:::", buildLogMsg(logMsg + " :: " + lineOut()));
}
}
}
2) Log를 출력할 MainActivity
MainActivity.java
package org.example.customlog;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import org.example.customlog.utility.LogMsgOutput;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LogMsgOutput.logPrintOut(getApplicationContext(), "Custom LogMessage 출력");
}
}
# 출력결과
프로젝트를 실행하고 Logcat 결과를 확인하면 추가한 Log Message가 출력되는 것을 알 수 있다.
위와 같은 형태로 출력되는데 맨 끝의 ( ClassName.java : LineNumber )를 선택하면
Log Message가 작성된 Class 파일의 해당 라인으로 이동할 수 있다.
728x90
'Android > Java Code' 카테고리의 다른 글
[Android] Retrofit2를 사용한 API 통신 설정 및 Data 송수신 (0) | 2023.02.07 |
---|---|
[Android] Keyboard위에 Edit Text 올리기 (0) | 2023.02.06 |
[Android] FCM 메시지 송수신 Application 제작 (0) | 2023.02.01 |
[Android] Activity에서 Dark Theme 비활성화기 (0) | 2023.01.04 |
[Android] 갤러리 이미지 가져오기 및 썸네일 생성 (0) | 2022.11.10 |