안드로이드

안드로이드 Logcat을 이용해서 로그를 찍어보기! Log 클래스

알통몬_ 2018. 5. 17. 16:22
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


이번 포스팅에서는 안드로이드의 Log 에 대해서 공부합니다.

Android Monitor 는 디버그 메세지를 표시하는 Logcat Monitor를 포함합니다.


logcat monitor 는 가비지 수집이 발생하는 시점과 같은 시스템 메시지 뿐만 아니라

Log 클래스를 사용해 앱에 추가할 수 있는 메시지도 표시해줍니다.


logcat 메시지의 형식

모든 Android Log message 는 연관된 태그와 우선순위가 있습니다.

로그는 간단하게 아래처럼 정의할 수 있습니다.

Log.d("permission", "granted");

2개의 인자가 들어가는데요 첫 번째는 tag, 두 번째는 msg 입니다.


우선순위

public static final int VERBOSE = 2; // 모든 로그를 표시합니다.

public static final int DEBUG = 3; // 개발 중에만 유용한 디버그 로그 메시지뿐 아니라

더 낮은 레벨의 메시지도 이 목록에 표시
public static final int INFO = 4; // 일반적인 사용에 대해 예상할 수 있는 로그 메시지 뿐 아니라

더 낮은 레벨의 메시지도 이 목룍에 표시
public static final int WARN = 5; // 아직 오류는 아니지만 발생 가능한 문제 뿐 아니라

더 낮은 레벨의 메시지도 이 목룍에 표시
public static final int ERROR = 6; // 오류를 일으킨 문제 뿐 아니라 더 낮은 레벨의 메시지도 이 목룍에 표시

public static final int ASSERT = 7; // 개발자가 결코 발생해서는 안 된다고 생각하는 문제를 표시합니다.

Log.v < Log.d < Log.i < Log.w < Log.e 


순입니다.

위 5개 로그 메서드를 호출해보았습니다.

Log.v("VERBOSE", "VERBOSE");
Log.d("DEBUG", "DEBUG");
Log.i("INFO", "INFO");
Log.e("WARN", "WARN");
Log.w("ERROR", "ERROR");


로그 같은 경우는 개발 단계를 제외하고는 상세 로그를 앱으로 컴파일하시면 안 됩니다.

디버그 로그는 컴파일 되지만 삭제되는 반면에 

오류, 경고 및 정보 로그는 항상 그대로 유지됩니다.


그리고 일반적으로 로그메서드의 tag 인자는 해당 Activity나 클래스 이름으로 합니다.

ex)

private static final String TAG = "MainActivity";
@Override
protected void onStart() {
super.onStart();


Log.v(TAG, "This is MainActivity");

* 태그는 글자 수 제한이 있어서 23글자를 넘어가면 에러가 발생하며, 출력에서 잘립니다.


이상으로 Logcat을 이용해 로그를 찍어보기! 에 대해 공부했습니다.

감사합니다.

반응형