아주 간단한 로깅 남기는 법이에요.
어느정도 규모가 작은 서비스는 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로 로깅 구체적으로 설정하기
'Backend > Spring' 카테고리의 다른 글
Spring Boot Reactive Mongo Data QueryDSL (2) | 2021.07.31 |
---|---|
Spring Boot logback.xml 설정 (2) | 2020.08.29 |
JPA enum으로 컬럼 관리 (0) | 2020.04.02 |
Spring Boot 백그라운드 jar 중지 (kill pid) (0) | 2020.04.01 |
Gradle 버전 관리 (Feat. sdkman) (0) | 2020.03.30 |