Spring Boot / / 2024. 12. 13. 16:14

SLF4J의 로그 레벨

SLF4J로그 레벨로깅 메시지의 중요도와 우선순위를 설정하기 위한 개념입니다. 개발자가 원하는 수준의 로그만 출력하도록 제어할 수 있습니다.


SLF4J의 주요 로그 레벨

SLF4J는 일반적으로 다음과 같은 5가지 로그 레벨을 제공합니다. (중요도 순서로 나열)

레벨 의미 사용 예시
TRACE 가장 낮은 수준의 로그, 매우 상세한 디버깅 정보 메서드 진입, 데이터 흐름 추적 등
DEBUG 디버깅을 위한 로그, 개발 중에 주로 사용 변수 값 출력, 로직 확인 등
INFO 일반적인 정보 로그, 시스템의 진행 상태 출력 서버 시작, 주요 이벤트 발생 등
WARN 경고 로그, 시스템에 잠재적 문제가 있을 경우 리소스 부족, 예상치 못한 상황 등
ERROR 심각한 에러 로그, 애플리케이션 실행 중 치명적 오류 예외 발생, 요청 실패 등

로그 레벨의 중요도

  • TRACE < DEBUG < INFO < WARN < ERROR
  • 설정된 로그 레벨 이상의 로그만 출력됩니다.

예시

만약 로그 레벨이 INFO로 설정되면:

  • INFO, WARN, ERROR만 출력됩니다.
  • TRACEDEBUG는 출력되지 않습니다.

SLF4J 로그 레벨 사용 예제

코드 예시:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Slf4jExample {
    private static final Logger logger = LoggerFactory.getLogger(Slf4jExample.class);

    public static void main(String[] args) {
        logger.trace("TRACE: 상세한 추적 정보");
        logger.debug("DEBUG: 디버깅 정보");
        logger.info("INFO: 일반 정보");
        logger.warn("WARN: 경고 메시지");
        logger.error("ERROR: 오류 메시지");
    }
}

로그 레벨 설정 방법

SLF4J는 자체적으로 설정 파일이 없고, 바인딩된 로깅 구현체에서 설정합니다. 예를 들어:

1. Logback 설정 (logback.xml):

<configuration>
    <root level="info">
        <appender-ref ref="console" />
    </root>
</configuration>
  • root level="info": INFO 레벨 이상만 출력됩니다.

2. Log4j 설정 (log4j.properties):

log4j.rootLogger=INFO, console
log4j.logger.com.example=DEBUG
  • 패키지 단위로 로그 레벨을 설정할 수도 있습니다.

로그 레벨의 활용

  1. TRACE: 개발 중 세부적인 로직 흐름을 추적할 때 사용 (프로덕션에서는 비활성화)
  2. DEBUG: 개발 및 테스트 단계에서 디버깅할 때 사용
  3. INFO: 정상 실행 상태의 이벤트를 기록
  4. WARN: 경고성 상황이 발생할 때, 시스템에 큰 문제는 없지만 주의가 필요
  5. ERROR: 치명적인 문제 발생 시 기록

핵심 요약

  • SLF4J는 TRACE, DEBUG, INFO, WARN, ERROR 5가지 로그 레벨을 제공합니다.
  • 로그 레벨은 설정된 수준 이상만 출력되며, 개발 및 운영 환경에 따라 적절하게 조정합니다.
  • TRACEDEBUG는 주로 개발 중에, INFO 이상은 프로덕션 환경에서 사용됩니다.

로그 레벨을 잘 활용하면 불필요한 로그 출력은 줄이고, 필요한 정보만 효과적으로 기록할 수 있습니다.

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

Thymeleaf  (3) 2024.10.31
HikariCP  (1) 2024.10.22
Spring Data JPA  (1) 2024.10.22
spring.factories  (2) 2024.10.21
@Import  (0) 2024.10.21
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유