본문 바로가기

Backend/spring

[spring, logback] 비동기식 로깅 - AsyncAppender - 2

728x90

 

코드의 자세한 설명을 하겠다.

 

- application.properties

spring.profiles.active 설정을 변경해서 앱이 개발 상태인지 배포 상태인지에 따라서

logback의 설정을 지정할 수 있다.

 

- logback-local.xml

logback 설정 파일이다.

어떻게 로그를 남길지에 대한 logback의 설정 값을 지정할 수 있다.

scanPeriod를 지정하여 로그 설정파일을 주기적으로 다시 읽도록 하여 앱이 배포 중인 상태에서도 로그 설정을 변경할 수 있다.

STDOUT의 appender처럼 이용하면 로그를 동기식으로 남길 수 있다.

ROLLING_FILE, ASYNC_FILE appender를 이용하면 로그를 비동기식으로 남길 수 있다.

 

- TestController.java, TestService.java

먼저 controller와 service를 생성하여 logger를 가져와서 log를 남긴다.

logback은 slf4j에 포함되기 때문에 내부적으로는 logback 설정 파일을 자동으로 읽어서 logback을 사용한다.

 

- mylog.log

실제로 파일에 남겨진 로그를 첨부한다.

debug level에서는 아주 많은 로그가 남지만 controller와 service와 관련된 로그만 발췌했다.

 

 

전체 소스코드는 여기서 확인이 가능하다. 여기