HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🛁
공부기록
/
🍀
Spring
/
🎎
Logback
🎎

Logback

LogBack 이란?로그백의 특징로그백의 구조로그백의 설정AppenderEncoderRoot로그레벨패턴
 

LogBack 이란?

  • 로그백이란 Log4J 기반으로 개발된 로깅(Logging) 라이브러리이다.
  • log4J에 비해 약 10배정도 빠른 퍼포먼스, 메모리 효율성 증대 장점이 있다.
  • 출시순서 : log4J → logback → log4j2
 

로그백의 특징

  • 로그에 특정 레벨을 설정할 수 있다 (Trace > Debug > Info > Wran > Error)
  • 실운영과 테스트 상황에서 각각 다른 출력 레벨을 설정하여 로그를 확인할 수 있다.
  • 출력 방식에 대해 설정할 수 있다.
  • 설정 파일을 일정 시간마다 스캔하여 애플리케이션 중단 없이 설정 가능하다.
  • 별도의 프로그램 없이 자체적으로 로그 압축을 지원한다.
  • 로그 보관 기간 설정이 가능하다.
 

로그백의 구조

notion image
 

로그백의 설정

  • 일반적으로 클래스패스에 있는 로그백 설정 파일을 참조하게 된다.
    • Java Legacy, Spring 의 경우에는 logback.xml 파일을 참조한다.
    • Spring Boot의 경우에는 logback-spring.xml 파일을 참조한다.
 

Appender

  • 로그의 형태 및 어디에 출력을 할지 설정하기 위한 영역이다.
  • 대표적인 Appender 형식은 다음과 같다.
    • ConsoleAppender : 콘솔에 로그를 출력
    • FileAppender : 파일에 로그를 저장
    • RollingFileAppender : 여러개의 파일을 순회하며 로그를 저장
    • SMTPAppender : 로그를 메일로 보냄
    • DBAppender : 데이터베이스에 로그를 저장
notion image

Encoder

  • 어팬더 내에 포함되는 항목이며 패턴을 사용하여 원하는 형식으로 로그를 표현할 수 있다.

Root

  • 설정한 어팬더를 참조하여 로그의 레벨을 설정할 수 있다.
  • root는 전역 설정이며 지역 설정을 하기 위해서는 logger를 사용함
notion image

로그레벨

  • ERROR : 로직 수행 중에 오류가 발생한 경우, 시스템적으로 심각한 문제가 발생하여 작동이 불가한 경우
  • WARN : 시스템 에러의 원인이 될 수 있는 경고 레벨, 처리 가능한 사항
  • INFO : 상태변경과 같은 정보성 메시지
  • DEBUG : 애플리케이션의 디버깅을 위한 메시지 레벨
  • TRACE : DEBUG 레벨보다 더 디테일한 메시지를 표현하기 위한 레벨
🧐
예를 들어, 로그 레벨을 INFO 라고 설정하면 TRACE, DEBUG 레벨은 출력되지 않는다.

패턴

notion image