[SprinBoot] 스프링부트 기본 로거 설정
2022. 11. 6. 13:34ㆍJAVA/Spring
1. 로깅 퍼사드(Logging Facade)와 로거(Logger)
로깅 퍼사드와 로거의 개념
- 로깅 퍼사드 : 로거 API들을 추상화 해놓은 인터페이스
- 로깅 퍼사드를 사용하게 되면 로거들을 바꾸어 사용할 수 있습니다.
- 로거 : 로깅 퍼사드를 구현한 구현체
로깅 퍼사드와 로거의 종류
- 로깅 퍼사드 : Common Logging, SLF4J
- 로거 : JUL, Log4J2, Logback
스프링부트가 사용하는 로깅 원리
- 스프링부트는 기본적으로 Common Logging 로깅 퍼사드를 사용함
- Common Logging을 사용하는 이유는 스프링 프레임워크 코어 모듈이 개발될 당시에 SLF4J가 아직 개발되지 않았기 때문입니다.
- Spring5부터 SLF4J를 사용하기 위해서 Spring-JCL 모듈을 사용합니다. 그리고 컴파일 시점에 Common Logging을 SLF4J로 변경됩니다. SLF4J 로깅 퍼사드는 최종 로거(JUL, Log4J2, Logback 등)를 의존성에 근거하여 선택하게 됩니다.
- 다른 설정이 없다면 기본적으로 Logback을 사용하게 됩니다.
2. 스프링 부트 로깅 설정
로그 컬러 출력
spring.output.ansi.enabled = always
로그를 파일에 출력
logging.file.name = spring.log
로그를 디렉터리에 출력
logging.file.path = logs
로그 레벨 설정
logging.level.root = info
logging.level.kr.yh = DEBUG
logging.level.org.springframework.web = DEBUG
References
source code : https://github.com/yonghwankim-dev/springboot_study/blob/main/springboot_utilization/src/main/resources/application.yml
[인프런] 스프링 부트 개념과 활용
스프링 부트 기본 로거 설정
'JAVA > Spring' 카테고리의 다른 글
[SpringBoot] OutputCaputre 테스트 유틸리티 (0) | 2022.11.06 |
---|---|
[SprinBoot] 로거(Logger) 커스터마이징 (0) | 2022.11.06 |
[SpringBoot] 프로파일(Profile) (0) | 2022.11.01 |
[Spring][IoC] @Component와 컴포넌트 스캔(Component Scan) (0) | 2022.11.01 |
[Spring] Null-safety : Null 관련 애노테이션 (0) | 2022.10.31 |