Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 스프링부트
- Spring Security
- aop
- response
- http
- Filter
- request
- network
- OOP
- 인터셉터
- exception
- 스프링 시큐리티
- 트랜잭션
- Spring
- RestControllerAdvice
- 관점지향프로그래밍
- git
- 자바
- 스프링
- aspect
- SQL
- Redis
- java
- 객체지향프로그래밍
- 디자인패턴
- MYSQL
- proxy pattern
- spring boot
- mybatis
- Interceptor
Archives
- Today
- Total
장쫄깃 기술블로그
[Spring Boot] logback 로그 레벨별 색 지정 본문
728x90
CustomHighlightConverter 구현
ForegroundCompositeConverterBase 상속 객체를 구현한다.
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.pattern.color.ANSIConstants;
import ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase;
/**
* logback-spring 로그 레벨별 색상 지정 Custom Converter Class
*/
public class CustomHighlightConverter extends ForegroundCompositeConverterBase<ILoggingEvent> {
@Override
protected String getForegroundColorCode(ILoggingEvent event) {
return switch (event.getLevel().toString()) {
case "ERROR" -> ANSIConstants.BOLD + ANSIConstants.RED_FG;
case "WARN" -> ANSIConstants.BOLD + ANSIConstants.YELLOW_FG;
case "INFO" -> ANSIConstants.BOLD + ANSIConstants.GREEN_FG;
case "DEBUG" -> ANSIConstants.BOLD + ANSIConstants.BLUE_FG;
case "TRACE" -> ANSIConstants.BLUE_FG;
default -> ANSIConstants.DEFAULT_FG;
};
}
}
logback-spring.xml
logback-spring.xml에 CustomHighlightConverter를 적용한다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- Custom Highlight Converter -->
<conversionRule conversionWord="highlight" converterClass="com.jdh.sample.config.log.CustomHighlightConverter"/>
<property name="LOG_LEVEL_PATTERN" value="%highlight(%-5level)"/>
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%boldMagenta(%d{MM-dd HH:mm:ss}) [${LOG_LEVEL_PATTERN}] %cyan(%logger{5}.%M) - %msg %n</pattern>
</encoder>
</appender>
...
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
결과
로그별 색상이 다르게 출력되는 것을 볼 수 있다.
728x90
'Spring Framework > Spring Boot' 카테고리의 다른 글
[Spring Boot] AOP, Redis를 이용한 멱등성 보장 구현하기 (2) | 2024.09.18 |
---|---|
[Spring Boot] log4j2 로그 레벨별 색 지정 (0) | 2024.07.16 |
[Spring Boot] @Scheduled 사용 및 동작원리 (0) | 2023.07.27 |
[Spring Boot] Spring에서 프록시 패턴을 이용해 복잡한 기능 구현해보기 (0) | 2023.05.30 |
[Spring Boot] Service에서 다른 Service 의존에 대하여 (3) | 2023.04.26 |