spring
[Springboot] Logback 사용하기
개발만파볼까
2021. 3. 21. 18:20
728x90
반응형
SMALL
SpringBoot / Gradle 기반으로 설정되었고, 버젼은 다음과 같습니다.
Springboot Version 5.3.5
gradle Version 6.8.3
build.gradle은 다음과 같이 포함해주시면 되겠습니다.
dependencies {
~
compile("org.slf4j:slf4j-api:1.7.7")
compile('ch.qos.logback:logback-classic:1.1.2')
~
}
그 다음에는 /src/main/resource 경로에 'logback-spring.xml' 파일을 만들고 다음과 같이 작성을 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}[%-5level] : %msg%n</pattern>
</encoder>
</appender>
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<file>test.txt</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>test-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>[%-5level] %d{HH:mm:ss.SSS} %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT"/>
<appender-ref ref="ROLLING"/>
</root>
</configuration>
TestController.java 에 다음과 같은 코드를 작성합니다.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;
@RestController
@Slf4j
public class TestController {
private static final Logger logger = LoggerFactory.getLogger(TestController.class);
@RequestMapping("/test")
public String test() {
String test = org.springframework.core.SpringVersion.getVersion();
logger.info(test);
return test;
}
}
실행을 하면 다음과 같은 화면이 뜨게 됩니다.
728x90
반응형
LIST