[Spring] spring boot 모니터링

yoon·2024년 6월 13일

spring-boot

목록 보기
35/41
post-thumbnail

✅ logback

slf4j(simple logging facade for java)의 구현체이다.

✔ 장점

  • 비동기 로깅 : 별도의 스레의 스레드가 로그를 처리하기 때문에 애플리케이션 성능에 영향 ↓
  • 효율적인 객체 생성 : 가능한 한 적은 수의 객체를 생성
  • 배치 작업 : 가능한 한 많은 로그 이벤트를 함께 처리하려 함
  • 유연한 구성 : XML이나 Groovy를 통해 설정 구성 가능

✔ 사용법

  1. resource 폴더 안에 logback.xml 파일을 만든다.
  2. 아래 링크의 메뉴얼을 참고하여 파일을 작성한다.

✔ 예시

  • configuration 예시
    PatternLayout클래스에서 pattern 안의 내용을 확인할 수 있다.
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%class] [%method] [%line]  %msg %n</pattern>
        </encoder>
    </appender>
  • appender - RollingFileAppender
    logFile을 저장할 수 있다.
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logFile.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>logFile.%d{yyyy-MM-dd_HH_mm}.log.zip</fileNamePattern>

            <!-- keep 30 days' worth of history capped at 3GB total size -->
            <!-- 현재 fileNamePattern이 dd로 끝나면 3day가 된다. mm으로 끝나며 3분이 된다.-->
            <maxHistory>3</maxHistory>
            <totalSizeCap>3GB</totalSizeCap>

        </rollingPolicy>

       <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%class] [%method] [%line]  %msg %n</pattern>
        </encoder>
    </appender>
    
    <root level="info">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
profile
하루하루 차근차근🌱

0개의 댓글