따라하는 안드로이드 - LogCat 살펴보기(2)

 

지난번에 LogCat 을 추가하여 디버깅을 할 수 있는 방법을 보았습니다.
하지만, 진정한 디버깅을 하려면 LogCat의 기능을 다 쓴게 아닙니다.

프로그램 코딩하면서 자주 쓰게 되는 LogCat 의 기능을 알아보도록 하겠습니다.

 

 

>> LogCat 좀 더 자세히 살펴보기


C에서 테스트를 할 때, 변수의 값을 보고 싶을 때 printf() 명령을 자주 사용했습니다.
Log를 사용해서 이러한 기능을 사용할 수 있습니다.
 

LogCat 의 기능을 활용하기 위해서 소스 코드로 이동하겠습니다.
가장 기본적인 파일 안에 Log를 추가해주면 됩니다.

 

Log.원하는 코드(태그, 내용); 

Log.d 는 디버그, Log.i 는 정보, Log.w 는 경고, Log.e 는 에러를 나타냅니다.
강좌에서 i 를 통해 단순 정보를 나타내도록 하겠습니다.

 

태그는 구분하기 위한 것으로 주로 클래스나 함수 명을 입력합니다. 
내용에는 단순 String 값이나 각종 변수 값을 넣을 수 있습니다.

 

[그림 1-1. Log는 저렇게 씁니다... 라고 알려주네요.]

 

 

 

소스 코드는 아래와 같습니다.

 

public class Hello extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Log.i("Hello.class", "Test Message!!");
    }
}

 

 

 

위와 같이 입력을 하고 실행하고 LogCat 창을 보면 아래와 같이 입력한 메시지를 볼수 있습니다.

 

[그림 1-2. 입력한 메시지가 빠르게 지나갈수 있으니 잘 보세요~]

 

 

 

간단하게 Log 기능을 사용해 봤으니, LogCat 창에 있는 아이콘들의 기능을 살펴보도록 하겠습니다.

 

 

[그림 1-3. 오른쪽에 보시면 위와 같은 아이콘이 있습니다.]

 

 

 

각 아이콘들이 나타내는 기능은 아래와 같습니다.
메시지에 따라 원하는 내용을 보고 싶으면 아이콘을 선택하면 적용됩니다.
 

아이콘

설명

 모든 메시지를 보여준다.

 디버그 메시지만을 보여준다.

 정보(infomation) 메시지만을 보여준다.

 경고(Warning) 메시지만을 보여준다.

 에러(Error) 메시지만을 보여준다.

 메시지 중에 원하는 내용만 찾을 수 있도록 필터를 추가한다.

 필터 내용을 수정한다.

 필터 탭을 지운다.

 현재 기록되어 있는 모든 메시지를 제거한다.

 

 

위의 기능 중에 필터를 추가해서 원하는 내용만 검색하도록 하겠습니다.

버튼을 눌러서 필터 내용을 추가하도록 하겠습니다.

 

 

[그림 1-4. 제일 위에 검색창에 LogCat을 입력해도 됩니다.]

 

 

 

아래와 같이 내용을 입력하도록 합니다.
예제에서 Hello.class 라고 정했으니 그걸 검색하도록 하겠습니다.
 

       

[그림 1-5. by Log Tag 부분에 검색하고자 하는 내용을 입력합니다.]

 

 

 

OK 버튼을 눌러서 적용을 하면 아래와 같이 탭으로 구분이 되면서 검색 조건에 맞는 내용만 나타납니다.
다른 메시지들과 겹쳐서 헷갈리지 않게 원하는 부분만 볼수 있는 장점이 있습니다.

 

 

[그림 1-6. 그림과 같이 검색과 동일한 내용이 나타났습니다.]

 

 

 

필터를 제거 하고 싶으면 탭을 선택한 후(예제에선 Hello 탭)
아래 그림에서 처럼 Delete Filter 키를 누르면 탭이 사라집니다.
 

                                                                            
 

[그림 1-7. Filter 내용이 필요없을 시에는 - 버튼을 눌러서 제거줍니다.]

 

 

 

이정도면 LogCat 의 기능을 사용해서 간단한 문제에 대한 디버깅을 쉽게 하실 수 있을겁니다.

 

>> 다음에 좀 더 강력한 기능!!

 

자자~~ 집중!! 아직?! 끝이 아닙니다!
            안드로이드에서는 DDMS라는 기능이 존재합니다.
            여러 가지 기능을 제공하는 툴로 LogCat 도 이 중에 하나라고 볼 수 있습니다.
            다음에는 DDMS 에 대해서 살펴보도록 하겠습니다.