5-2. Logging

khs·2022년 3월 8일
0

Java Spring Boot

목록 보기
23/34

Logging의 기본 개념들

logging 이란 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동을 말한다. (로그는 프로그램의 진행을 위해 사용한다.)

log level 로는 trace, debug, info, warn, error 등이 있다.

이를 확인할 용도로 코드를 하나 작성해보자. 과거에 진행했던 jpa 프로젝트 안에서 작성하겠다.

컨트롤러 안에 위와 같이 코드를 남기고 실행시키면 아래와 같이 로그를 남긴다.

trace는 변수에 값을 할당한 것까지 나타낼정도로의 사소한 것 까지 나타나는 메시지, debug는 어떠한 행위가 이뤄졌다는 메시지, info는 일반적인 진행상황의 메시지, wran은 문제가 생길 수도 있는 수준의 메시지, error는 서비스가 정상적으로 작동하지 않았음을 알리는 메시지이다. (레벨이 낮은 순으로 기재하였다.)

로그레벨 같은 경우 애플리케이션을 실행하면서 값을 설정할 수 있는데 기본 값은 info이다. 해당하는 로그 레벨보다 같거나 높은 레벨의 로그를 출력하기 때문에 trace와 debug는 출력되지 않는다.

application.yml 에 아래와 같이 수정을 한다면 (기본을 debug로 바꿈) 프로젝트를 실행했을 때 굉장히 많은 로그가 출력되는 것을 확인할 수 있다..

로깅을 남길 때는 의미가 없는 메시지를 남기지 말고 어떤 일이 있었는지에 대한 메시지를 남기도록 하자.

또 다르게 로그를 사용하는 방법이 있다.

아래와 같이 application.yml 을 수정하고

클래스에 대한 이름이 로거의 이름이다. ex) dev.khs.jpa.PostController 그 이름을 기반으로 패키지 범위를 설정함으로써 패키지에 대한 로그가 어디까지 작성될 것인지를 설정한 것이다.

info 메시지는 모두 설정한 dev.khs 패키지 밑에 있는 파일들임을 알 수 있다. 그리고 warn 메시지는 root레벨이므로 위에서 설정한 패키지와 상관이 없다.

컨트롤러에서 설정한 http://localhost:8080/post/test-log 로 들어가보면 설정한 패키지 내부에 있으므로 info부터의 로그가 나온다.

profile
권혁상입니다. 행복코딩^_^

0개의 댓글