Spring Boot/Logback

Logback 설정하기

수수한개발자 2023. 1. 15.
728x90

Logback 이란?

- SLF4J(Simple Logging Facade for Java)라는 인터페이스를 구현하는 구현체이다.

( Simple Logging Facade for Java provides a Java logging API by means of a simple facade pattern. The underlying logging backend is determined at runtime by adding the desired binding to the classpath and may be the standard Sun Java logging package java.util.logging, log4j, reload4j, logback or tinylog. )

- Logging Framework라고 생각하면 된다.

 

Appender 종류

  • -  ConsoleAppender : 콘솔에 log를 출력
  • -  FileAppender : 파일 단위로 log 를 저장
  • -  RollingFileAppender : (설정 옵션에 따라) log 를 여러 파일로 나누어 저장
  • -  SMTPAppender : log 를 메일로 전송 하여 기록
  • -  DBAppender: log DB에 저장

 

Logback을 사용하는 이유

운영을 위해서는 Log는 반드시 필요하다.
Logback
설정을 하여 운영을 하기 위한 Log를 관리한다.

뿐만 아니라 데이터는 돈이므로 Log는 곧 값 비싼 자산이다.

 

logback-spring.xml

 

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="logback-spring-${spring.profiles.active}.xml"/>
</configuration>

include 를하게 되면 액티브에 따라 로그를 다르게 찍을 수 있다.

 

logback-spring-local.xml

 

<included>

    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>

    <!--
    <included>
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${CONSOLE_LOG_PATTERN}</pattern>
                <charset>${CONSOLE_LOG_CHARSET}</charset>
            </encoder>
        </appender>
    </included>
    -->
    <appender name="CONSOLE2" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <layout>
            <pattern>
                [CONSOLE2] [%-5level] %d{yyyy-MM=dd HH:mm:ss} [%thread] [%logger{40}:%line] - %msg%n
            </pattern>
        </layout>
    </appender>

<!--
DEBUG < ... <  INFO < WARN < ERROR
-->

    <root level="DEBUG">
<!--        <appender-ref ref="CONSOLE"/>-->
        <appender-ref ref="CONSOLE2"/>
    </root>

</included>

 

include resource 의 경로에 가보면 기본적으로 주석처리 되어 있는부분이 정의 되어 있다.

이제 appender의 이름을 붙여주고 정의를 다시 해준후 root 의 내가 만든 네임을 넣어주면 내가 정의한대로 로그가 나오는 모습을 확인할 수 있다.

 

 

728x90

'Spring Boot > Logback' 카테고리의 다른 글

Logback 커스텀하게 사용하기  (0) 2023.01.15
Logback - fileAppender  (0) 2023.01.15

댓글