Spring Boot에 logback를 설정해보겠습니다.

 

로그의 형태와 레벨단위로 관리가 가능하여 편리한 기능인데요, 

 

** 우선 Sprig boot가 아니라면 pom.xml에 아래 코드를 추가해주세요

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>

 

1. logback 사용을 위해 src/main/resources 경로에 logback 패키지를 생성합니다. 

 

2. 해당 패키지 하위에 logback-spring.xml 파일을 생성합니다.

 

3. java 로그 설정파일 위치 지정해 줍니다. logging.config=classpath:logback/logback-spring.xml

 

 

4. logback-spring.xml 

<property name="LOG_DIR" value="C:\\Projects\/logs" /> // 경로설정
    <property name="LOG_PATH_NAME" value="${LOG_DIR}" />
    <property name="FILE_NAME" value="collectionServer" /> 
 
    <!-- FILE Appender -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH_NAME}/${FILE_NAME}.log</file>
        <!-- 일자별 로그파일 저장 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH_NAME}/${FILE_NAME}_%d{yyyyMMdd}.log</fileNamePattern>
            <!-- 일자별 로그파일 저장 기간 설정 -->
            <maxHistory>30</maxHistory> 
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\(%L\) : %m%n</pattern>
        </encoder>
    </appender>
 
    
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>[%d{yyyy-MM-dd}] [%d{HH:mm:ss.SSS}] [%p] [%c{1}] [%F:%L [%m]%n</pattern>
        </layout>
    </appender>
    
    <root level="debug"> <appender-ref ref="console"/> </root>

 

 

이렇게 해주면 로그가 파일로 저장되는 것을 확인할 수 있다. 

 

여기서!! 내가 기록하려고 하는 부분. . 

 

서버에 올렸을 경우는 파일에 저장하는게 낫지만 로컬에서 테스트를 진행하게 되면 

이클립스 콘솔에서 실시간으로 출력하는게 더 편하다..이럴땐

<root level="DEBUG">
	<appender-ref ref="console"/>
</root>

 

위와같이  변경해주면  콘솔에서 확인할 수 있다.

+ Recent posts