Logging Facade : - 로거 API를 추상화해둔 interface (Commons Logging, SLF4j )
Logger : 로깅을 제공하는 class (Log4j, Log4j2, Logback (로거))
스프링 부트는 Commons Logging 를 기본으로 사용
- 스프링 개발 당시 SLF4j가 없어서
- 하지만 최종적으로 Logback(SLF4j의 구현체) 으로 찍히게 된다.
스프링 부트 로깅
- --debug (일부 핵심 라이브러리만 디버깅 모드로)
- --trace (전부 다 디버깅 모드로)
- 컬러 출력 : spring.output.ansi.enabled
- 파일 출력 : logging.file or logging.path
- 로그 레벨 조정 :logging.level.패키지 = 로그 레벨
커스텀 로그 설정 파일 사용하기
resources 아래
- logback-spring.xml 사용
작성법
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="패키지 경로" level="DEBUG"/>
</configuration>
- 또는, 로그 설정파일 이름을 원하는데로 설정 후 application-properties에 등록해두면 불러오기 가능함.
(stg, prd 환경을 구분할 때 주로 사용)
로거를 Log4j2로 변경하기
- 기존 스프링 부트 스타터 웹에서 Logback 설정을 exclusion 시킨다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot></groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusions>
</dependency>
- 그 후 log4j2 의존성을 추가해준다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2></artifactId>
</dependency>
'IT기술 > spring' 카테고리의 다른 글
[spring] 스프링 부트 웹 프로젝트의 프론트 기술 thymeleaf란? (0) | 2023.07.13 |
---|---|
[spring] SpringBootApplication, 스프링 부트 어노테이션 정리 (0) | 2023.07.13 |
[spring]배너 바꾸기 (0) | 2023.07.11 |
[Spring] ResponseEntity 사용하기, http 기반 응답 구현하기 (0) | 2023.06.28 |
[spring] 예외처리 @ControllerAdvice, @ExceptionHandler를 이용한 예외처리 분리, 통합하기(Spring에서 예외 관리하는 방법, 실무에서 활용하는 방법) (0) | 2023.06.08 |