반응형
매번 찾는 수고로움을 덜기위해 기술해둠.
내용
- logback 설정
- console appender highlight 설정
- 필요 디펜던시 기술
- logger 사용법
1. logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %magenta(%-4relative) --- [ %thread{10} ] %cyan(%logger{20}) : %msg%n </pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>labatory.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>labatory.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-4relative --- [ %thread{10} ] %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.springframework" level="info"/>
<logger name="org.hibernate" level="debug"/>
<root level="debug">
<appender-ref ref="CONSOLE"/> <!-- Console에 로그를 출력하고자 할 때 사용 -->
<appender-ref ref="FILE"/> <!-- File로 로그를 남기고자 할 때 사용 -->
</root>
</configuration>
2. pom.xml 디펜던시
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
3. logger 사용법
private Logger logger = LoggerFactory.getLogger(this.getClass());
각 클래스에서 logger 선언 후 사용
logger.debug()
logger.info()
logger.warn()
logger.error()
logger.trace()
등과 같이 5단계로 나눠진 log level에 따라 사용.
root level은 최소 로그로 기록할 단계를 뜻함.
<logger name="org.hibernate" level="debug"/>
hibernate 패키지에 대해서는 debug 레벨 적용
<logger name="org.springframework" level="info"/>
springframework 패키지에 대해서는 info 레벨 적용
위 logback 설정대로라면 spring-boot의 기본적인 로깅 하이라이트와 비슷한 테마로 적용할 수 있다
(괜히 비슷하게 맞춘다고 끄적거림)
logback.xml의 highlight 및 포맷을 맞춰두지 않으면 매우 밋밋한 화면을 볼 수 있다(전부 검은 콘솔에 하얀글자)
ps
2017-09-14
이클립스에서 해당 lobgack설정을 하게 되면 깨지는 현상이 발생한다
깨진다면, 아래와 같이 설정하자(기본세팅)
<Pattern>%d{HH:mm} %-5level %logger{36} - %msg%n</Pattern>
SpringBoot의 기본 로깅 패턴
위 logback을 적용한 로깅 패턴
반응형
'Development > Java' 카테고리의 다른 글
[JAVA] Object Pooling (0) | 2017.05.19 |
---|---|
[Spring] Springboot JUnit 테스트 시 설정 (0) | 2017.05.19 |
[DB] DBCP 구현 - DB Connection Pooling (0) | 2017.05.16 |
[Springboot] JPA(Hibernate) 공부 편 (0) | 2017.04.09 |
[Spring] JSON Object 관련 (0) | 2017.03.26 |