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