스프링부트 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 |