Log - (2) Logback

단비·2023년 5월 19일
0

학습

목록 보기
55/66

이전 Log4j 자료

로깅(Logging)이란?



Logback이란?

  • 오픈소스 로깅 프레임워크이며 SLF4J의 구현체이자, 스프링부트에 기본으로 내장되어 있는 로깅 라이브러리
  • log4j보다 좋은 성능을 가짐(log4j: 2015년에 지원 중단)

SLF4J

  • 로깅 추상 레이어를 제공하는 인터페이스
  • slf4j 덕분에 애플리케이션은 어떤 로깅 라이브러리를 사용하던 같은 방법으로 로그를 남길 수 있는 것
    (그래서 로그 라이브러리를 교체하는 일이 발생하더라도 애플리케이션의 코드가 변경될 필요가 없음)





사용 방법

1. build.gradle

// https://mvnrepository.com/artifact/ch.qos.logback/logback-classic
testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.4.7'

2. logback.properties

LOG_PATH=/Users/dbkim/Desktop/TASK/LOG
LOG_FILE=REQUEST_LOG
LOG_PATTERN=%d %p [%M] %m %n

3. logback-spring.xml

  • logback.xml 말고 logback-spring.xml로 만들 경우 스프링부트의 설정 부분에서 제어가 가능해져 확장성이 커진다고 함
    (-spring을 안붙일 경우 스프링 부트에 대한 설정 전에 logback이 설정된다고 함)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property resource="logback.properties"/>

    <appender name="request-log" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 파일 경로 설정 -->
        <file>${LOG_PATH}/${LOG_FILE}.log</file>
        <!-- 출력 패턴 설정 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <!-- Rolling 정책 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- .gz, .zip 등을 넣으면 자동 일자별 로그파일 압축 -->
            <fileNamePattern>${LOG_PATH}/${LOG_FILE}.%d{yyyy-MM-dd}.log.%i</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 파일당 최고 용량 kb, mb, gb -->
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거 -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>


    <!-- 기본 출력 설정 -->
    <root>
        <level value="INFO" />
        <appender-ref ref="request-log" />
    </root>

</configuration>





참고사이트

모두의 코딩
Logback 사용하기 -1- - ssol_916.log

profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글