[logger] Logback xml 설정 및 디펜던시 설정
Development/Java

[logger] Logback xml 설정 및 디펜던시 설정

반응형

매번 찾는 수고로움을 덜기위해 기술해둠.


내용

  • 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