spring-boot-starter 에는 SLF4J와 Logback이 기본으로 설정 돼있다.
*자세한 설명 생략
▷ SLF4J란?
- Simple Logging Facade 4 Java
- 다양한 Logging Framework를 하나의 방식으로 사용할 수 있는 방법을 제공
*Logging Framework : java.util.logging, logback, log4j
- Spring Boot는 SLF4J + Logback을 사용
*Logback : SLF4J의 구현체이자 Logging Library(log4j보다 더 좋은 성능)
▷ 기본 사용 방법
*Spring boot에서 아래 2가지 방법 중 선택해서 사용
① Logger객체 직접 생성
② @Slf4j(Lombok)
@Slf4j
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
// @Slf4j(Lombok)
log.info("Hello @Slf4j info");
log.debug("Hello @Slf4j debug");
log.trace("Hello @Slf4j trace");
log.warn("Hello @Slf4j warn");
log.error("Hello @Slf4j error");
// LoggerFactory
Logger logger = LoggerFactory.getLogger(TestApplication.class);
logger.info("Hellow Logger info");
logger.debug("Hellow Logger debug");
logger.trace("Hellow Logger trace");
logger.warn("Hellow Logger warn");
logger.error("Hellow Logger error");
}
}
*SLF4J defalut logging level "INFO"
▷Log Level
TRACE < DEBUG < INFO < WARN < ERROR
① TRACE : DEBUG 보다 상세한 정보
② DEBUG : 프로그램을 디버깅하기 위한 정보
③ INFO : 상태 변경과 같은 정보
④ WARN : 처리가 가능한 문제, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지
⑤ Error : 요청을 처리하는 중 발생한 오류 정보
▷ Logback 기본 설정 방법
- Spring boot에서 아래 3가지 방법 중 선택해서 사용
*①,② 중복 설정 시 ① 적용
① application.properties
② resources / logback-spring.xml
*.xml은 직접 생성
③ resources / logback.xml
*Spring Boot에 대한 설정 전에 logback.xml이 설정되므로 제어할 수 없다.
① application.properties
## log Color
spring.output.ansi.enabled=always
## logging Level
logging.level.root=WARN
② resources / logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- <property> : logback-spring.xml에서 사용될 변수 값 선언 -->
<!-- 로그 메세지 형식 -->
<!-- 로그 레벨 색상 설정 : %highlight([%-5level]) -->
<property name="LOG_MSG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight([%-5level]) : %msg%n" />
<!-- <appender> : 로그 형태 설정 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- <encoder> : 지정한 형식으로 표현 될 로그 메시지를 변환 -->
<encoder>
<!-- 위에서 선언한 변수 사용 -->
<pattern>${LOG_MSG_PATTERN}</pattern>
</encoder>
</appender>
<!-- <root> : 전역 설정 적용 -->
<!-- <logger> : 지역적으로 선언 가능(logger 설정이 default로 적용) -->
<root level="INFO">
<!-- <appender-ref> : 위에서 설정한 appender 적용 -->
<appender-ref ref="CONSOLE" />
</root>
</configuration>
▷ 참고
[스프링부트 (5)] Spring Boot 로그 설정(1) - Logback
[스프링부트 (5)] Spring Boot Log 설정(1) - Logback 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 Log 설정 - 로그백] 입니다. : -) 1. Logback 이란? 특징? - 자바 오픈소스 로깅 프레임워크, SLF4J의
goddaehee.tistory.com
[스프링부트] Spring Boot 로그 설정 - Logback
Logback이란? Java에서 Log 기록을 위한 Open-Source framework. SLF4J의 구현체입니다. Spring Boot에서는 default로 설정되어 있어서 사용 시 별도로 라이브러리를 추가하지 않아도 됩니다. spring-boot-start-web 안에
yjh5369.tistory.com
▷ 관련 글
로그파일 생성과 관리(logback-spring.xml)
로그파일을 생성하고 관리를 위한 반복 정책을 설정하는 방법 *자세한 설명 생략 ▷ logback-spring.xml *Cassandra 관련 부분은 무시(다양한 로그를 한 파일에 담을 수 있다.) ${LOG_MSG_PATTERN} %green(%d{yyyy-MM
coding-today.tistory.com
'▶ Back-End > Java' 카테고리의 다른 글
SpringBoot + Cassandra 연동(Single Node) (0) | 2023.08.09 |
---|---|
Cassandra 설치 방법과 간단한 Node 분산 Test (0) | 2023.08.08 |
Custom Annotation 생성 Example (0) | 2023.07.26 |
SpringBoot Maria DB + MyBatis 설정 (0) | 2022.12.06 |
SpringBoot에서 MQTT Client + WebFlux 구축 (0) | 2022.12.02 |
댓글