답변:
을 살펴보십시오 android.util.Log
. 다양한 로그 수준으로 로그에 쓸 수 있으며 다른 태그를 지정하여 출력을 그룹화 할 수 있습니다. 예를 들어
Log.w("myApp", "no network");
myApp 태그와 함께 경고 메시지가 표시되고 네트워크 없음 메시지가 표시됩니다.
LogCat 의 출력 이 때때로 매우 길 수 있기 때문에 태그는 출력을 쉽게 찾기 위해 사용됩니다 . 수업 어딘가에 정의 할 수 있습니다.
private static final String TAG = "myApp";
디버깅 할 때 사용하십시오.
Log.v (TAG, "뭔가를");
태그 만 검색하기 위해 필터를 적용 할 수도 있습니다.
사용 android.util.Log
및 여기에 정의 된 정적 메소드 (예 : e()
, w()
).
이런 식으로 로그를 참조하십시오
Log.e("ApiUrl = ", "MyApiUrl") (error)
Log.w("ApiUrl = ", "MyApiUrl") (warning)
Log.i("ApiUrl = ", "MyApiUrl") (information)
Log.d("ApiUrl = ", "MyApiUrl") (debug)
Log.v("ApiUrl = ", "MyApiUrl") (verbose)
RDALogger라는 내 라이브러리를 사용할 수 있습니다. 여기 github link 입니다.
이 라이브러리를 사용하면 메소드 이름 / 클래스 이름 / 행 번호 및 앵커 링크로 메시지를 로그 할 수 있습니다. 이 링크를 사용하면 로그를 클릭하면 화면이이 코드 줄로 이동합니다.
라이브러리를 사용하려면 아래 구현을 수행해야합니다.
루트 레벨 gradle에서
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
앱 레벨 gradle에서
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
라이브러리를 초기화하려면 다음과 같이 시작해야합니다 (Application.class 또는 처음 사용하기 전에).
RDALogger.start("TAG NAME").enableLogging(true);
그리고 당신이 원하는 것을 기록 할 수있는 것보다;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
마지막으로 출력은 원하는 모든 것을 보여줍니다 (클래스 이름, 메소드 이름, 앵커 링크, 메시지)
08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.java:29) /// IN METHOD : onCreate
info
String one = object.getdata();
Log.d(one,"");
최근에 안드로이드에서 로그를 작성하는이 방법을 찾았습니다. 매우 훌륭하다고 생각합니다.
public static final boolean FORCED_LOGGING = true;
private static final int CALLER_STACK_INDEX = 3;
public static void showLogs(String message) {
if (FORCED_LOGGING) {
StackTraceElement caller = Thread.currentThread().getStackTrace()[CALLER_STACK_INDEX];
String fullClassName = caller.getClassName();
String className = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);
String methodName = caller.getMethodName();
int lineNumber = caller.getLineNumber();
Log.i("*** " + className + "." + methodName + "():" + lineNumber + "\n" , message);
}
}
log.d
무엇입니까?