본문 바로가기

Backend/Spring

Spring Boot Logging 간단 설정 (application.yml)

아주 간단한 로깅 남기는 법이에요.
어느정도 규모가 작은 서비스는 application.yml 설정만으로도 커버할 수 있어요.

규모가 점점 커지면 logback.xml 파일로 세부적으로 설정해서 관리할 필요가 있어요.

application.yml

logging:
  file:
    path: /Users/hong/Logs/kotlin-spring
    max-size: 500MB
    max-history: 10
  level:
    root: info
    me.hong.kotlinspring: debug

 

주의할 점은 logging.file.name 을 설정하면 프로젝트 루트 경로에 파일이 생기고 logging.file.path는 먹지 않아요.

이유는 자세히는 안 찾아봤어요.. 버그인지 의도한건지..

logging.file.max-size: 최대 파일의 크기

logging.file.max-history: 몇 일 동안 로그를 저장할 것인지에 대한 설정이에요.

logging.level: 각 패키지의 로그 레벨을 설정할 수 있구요

 

위와 같이 간단히 설정 추가하구 서버를 실행시키면 다음과 같이 spring.log 파일이 생겨요.

 

 

이외에 아래와 같이 설정들이 조금 있어요.

필요할 때 건드려주시면 됩니다!

언뜻 많아보이지만 되게 없는거에요.

서론에서 언급했듯이 체계적으로 로그를 관리할 정도로 규모가 커지거나 복잡도가 생긴다면 logback.xml 파일로 설정하는 것이 좋습니다.

 

 

이제 코드에서 로그를 출력해볼게요

패키지는 org.slf4j에 있는 Logger 클래스를 주로 사용해요.

 

import org.slf4j.Logger
import org.slf4j.LoggerFactory

Java

private Logger logger = LoggerFactory.getLogger(this.getClass());

Kotlin

val logger: Logger = LoggerFactory.getLogger(this.javaClass)

 

코드에 요렇게 적어두면 logging.level 설정에 따라 파일에 출력되게 되여

debug level 로 설정했다면 debug, info, warn, error가 찍힐거에요!

 

logger.trace("못 찾겠소");
logger.debug("함 봐야겠네");
logger.info("이건 찍어둘까");
logger.warn("좀 불안한데");
logger.error("에라잇");

 

logback.xml로 로깅 구체적으로 설정하기

gofnrk.tistory.com/108

 

Spring Boot logback.xml 설정

logback.xml 파일을 사용해서 로깅 설정을 해볼게요. 스프링부트에서는 application.yml으로 로깅 설정이 가능하지만 할 수 있는 기능이 많지는 않아요. 그래서 실제 어느 정도 규모 있는 서비스를 운영

gofnrk.tistory.com