IT

Android의 로그에 출력을 작성하는 방법

lottoking 2020. 6. 15. 08:07
반응형

Android의 로그에 출력을 작성하는 방법


logcat으로 검토하기 위해 디버깅 출력을 로그에 작성하고 싶습니다.

System.out에 무언가를 쓰면 이미 logcat에 표시됩니다.

로그에 쓰고 출력에 레벨과 태그를 추가하는 가장 확실한 방법은 무엇입니까?


을 살펴보십시오 android.util.Log. 다양한 로그 수준으로 로그에 쓸 수 있으며 다른 태그를 지정하여 출력을 그룹화 할 수 있습니다. 예를 들어

Log.w("myApp", "no network");

myApp 태그와 함께 경고 메시지가 표시되고 네트워크 없음 메시지가 표시됩니다.


LogCat 의 출력 이 때때로 매우 길 수 있기 때문에 태그는 출력을 쉽게 찾기 위해 사용됩니다 . 수업 어딘가에 정의 할 수 있습니다.

private static final String TAG = "myApp";

디버깅 할 때 사용하십시오.

Log.v (TAG, "뭔가를");

여기에 이미지 설명을 입력하십시오

태그 만 검색하기 위해 필터를 적용 할 수도 있습니다.


사용 android.util.Log및 여기에 정의 된 정적 메소드 (예 : e(), w()).


import android.util.Log;

그리고

Log.i("the your message will go here"); 

이런 식으로 로그를 참조하십시오

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)

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);
        }
    }

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

참고 URL : https://stackoverflow.com/questions/2364811/how-do-i-write-outputs-to-the-log-in-android

반응형