반응형
스프링 부트는 SLF4J (Simple Logging Facade for Java)를 이용하여 로그를 관리한다.
궁극적으로는 LogBack을 사용한다.
Facade : 로깅 프레임워크가 아니며, 복잡한 로딩 프레임워크를 쉽게 사용할 수 있게 도와준다. 다른 퍼사드를 사용해도 되며, 프레임워크와 의존성이 낮기 때문에 쉽게 교체도 가능하다.
LogBack : Log4j 개발자가 기존 Log4j를 대체하기 위해서 만들었으며, Log4j에 비해 성능이나 기능 면에서 많은 장점을 제공한다.
logback.xml로 복잡하게 설정하던 부분들을 아래 application.properties에서 간단하게 설정이 가능하다.
로깅 샘플
package com.tistory.hitomis;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Service;
@Service
public class LoggingRunner implements ApplicationRunner {
// SLF4j에서 제공하는 LoggerFactory를 생성하고 인자값으로 현재 클래스를 입력한다.
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public void run(ApplicationArguments args) throws Exception {
logger.trace("TRACE logging");
logger.debug("DEBUG logging");
logger.info("INFO logging");
logger.warn("WARN logging");
logger.error("ERROR logging");
}
}
로깅 설정 샘플
## application.properties
# 로그레벨유형 : trace, degug, info, warn, error
# 만약 warn으로 설정할 경우 warn과 error만 출력된다.
## 로깅 세팅
# 로그 레벨을 설정, 패키지별로 다르게 설정이 가능하다
# logging.level.패키지명
logging.level.org.springframework=ERROR
logging.level.com.tistory.hitomis=trace
# 로그 경로와 파일명
logging.file.name=C:/log/hitomisLog.log
# 1개의 로그파일 용량제한
logging.logback.rollingpolicy.max-file-size=1MB
# 로그용량 초과 시 패턴
logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}-%i.log
로깅 결과
반응형
'개발 > spring, spring boot' 카테고리의 다른 글
[Spring Boot] JPA와 JSP를 이용한 간단한 게시판 개발 예제 (0) | 2021.08.14 |
---|---|
[Spring Boot] 독립적으로 실행 가능한 JAR 배포 (0) | 2021.08.01 |
[String Boot] 스프링부트를 구성하는 핵심 요소 3가지 (0) | 2021.07.10 |
[String Boot] 컴포넌트 스캔 개념 (0) | 2021.06.30 |
[String Boot] 배너 변경 (0) | 2021.06.24 |
댓글