logback (console + file)

코딩을 합시다·2023년 3월 2일
0

로그백을 통해 로그를 따로 저장하는 방법을 정리해보자!

스프링부트에서 로그백을 사용하기 위해서 다음 파일을 로드해서 사용합니다.

  • logback-spring.xml
  • logback-spring.groovy
  • logback.xml
  • logback.groovy

가능하면 로깅 설정에는 -spring 붙어 있는 파일을 사용하는 것을 권장합니다.

logback.xml 파일은 너무 빨리 로드되기 때문에, 이 파일 안에선 Extensions을 사용할 수 없습니다.
스프링에서 로그 초기화를 완전히 제어할 수 없습니다.

logback-spring.xml 예시


logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds">
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>./var/log/application_log/application.log</file>
        <encoder>
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS, ${logback.timezone:-Asia/Seoul}} [%thread] %-5level [%logger{0}:%line] - %msg %n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>./var/log/application_log/application.log.%d{yyyy-MM-dd, ${logback.timezone:-Asia/Seoul}}.gz</fileNamePattern>
            <maxHistory>30</maxHistory>
            <totalSizeCap>5GB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <root level="info">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="file" />
    </root>
</configuration>

이렇게 작성하면 console 창에도 로그가 뜨면서 ./var/log/application_log/application.log 여기 경로로 새로운 로그 파일도 생기게 된다

0개의 댓글