자바

스프링부트 로그 초간단 사용법

Unipiz 2020. 9. 17. 18:24

스프링부트 log 초간단 사용법 - logback, slf4j

 

구글링 결과.. 너무 길어서 간단히 정리했습니다.

 

1. 컨트롤러

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Controller
public class TestController {
	private final Logger logger = LoggerFactory.getLogger(this.getClass());
	
	@ResponseBody
	@RequestMapping(value = "/log")
	public String logtest() {
		for(int i=0;i<1000;i++) {
		logger.trace("TRACE !");
		logger.debug("DEBUG !");
		logger.info("INFO !");
		logger.warn("WARN !");
		logger.error("ERROR !");
		}
		return "LOG TEST";
	}
}

 

2. XML --> src/main/resources 에 복붙 파일명 : logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!-- 1. 저장 위치 -->
    <property name="LOGS_PATH" value="D:\logtest"/>
    
    <!-- 2. 콘솔 출력 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%d{yy-MM-dd}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>
    
    <!-- 3. 파일 출력 -->
    <appender name="DAILY_ROLLING_FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOGS_PATH}/logback.log</file>
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOGS_PATH}\logback.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
    
    <!-- 각자 컨트롤러 경로에 맞게 설정 -->
    <logger name="com.unipiz.web.test.TestController" level="INFO">
        <appender-ref ref="DAILY_ROLLING_FILE_APPENDER" />
    </logger>
</configuration>

 

 

 

해당 URL 접속  ->  http://localhost/log

콘솔 확인 ->

 

 

 

 

파일 생성 확인 ->

 

 

 

압축 확인  ->  URL 접속*N ; 크기가 10MB 도달 시 자동압축 후 다음 로그파일 생성 // 30일 경과하면 삭제

 

 

 

 

 

잘 적용하기.

 

*2번 참고

'자바' 카테고리의 다른 글

[JAVA] String에 대하여  (0) 2022.07.12
【SPRING】스프링 세션 시간 설정 위치  (0) 2020.11.05
자바 스레드 동기 비동기 이해 및 활용  (0) 2020.09.18