Spring , log message
A A

목차

    728x90

     

    로깅 레벨의 의미 및 설정

     

    로깅 레벨은 애플리케이션의 실행 상황을 다각도로 파악할 수 있도록 도와주는 각기 다른 중요도를 가진 로그 메세지이다

    기본설정은 info 레벨이며 , 필요시 debug , trace 레벨로 조정이 가능하다

    조정 : application.properties 에서 설정

     

     - logging level
    TRACE : DEBUG 보다 더 상세한정보를 표시한다.
    DEBUG : 내부 실행 상황을 추적하기 위한 정보 (MyBatis SQL log 확인가능.)
    INFO : 주요 실행정보 , 상태 변경 사항 등을 표시한다.
    WARN : 잠재적인 위험을 알리는 경고성 메세지
    ERROR : 오류 발생헀으나 애플리케이션이 계속 실행 가능한 상황
    FATAL : 애플리케이션 주지를 요구하는 심각한 에러 발생 

     

    logger 사용 방법 및 예시

     

    1.  Logger 클래스 이용

     

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

    로거 생성시 전역에서 사용가능한 static final 의 형태로 선언한다.

     

    • 로그 메세지 출력 방법
      • String 결합방식 : + 연산자를 이용해 문자열 합산
      • {} 활용 방식 : 변수값 위치를 지정하여 쉽게 출력한다 (printf와 유사하다)
    String name = "홍길동";
    int age = 99;
    logger.info("Log Test => name : {} , age => {}", name, age);

     

    • 출력 결과
    INFO c.e.demo01.controller.HomeController : Log Test => name : 홍길동 , age => 99

     

     

    2. Lombok의 @Log4j2 사용

     

    import lombok.extern.log4j.Log4j2;
    
    @Log4j2
    log.info("Lombok의 @Log4j2 사용");

    Lombok의 @Log4j2 애너테이션을 통해 손쉽게 로거를 설정할 수 있다.

     

    • Lombok의 특징: {} 형식으로 변수 대입이 불가하여 +로 문자열 연산을 사용한다.
    log.info("Lombok Test [info]=> name : " + name + ", age => " + age);

     

     

    로그 레벨 설정 (application.properties)
    # 기본 전체 레벨 설정 (필요시 사용)
    #logging.level.root=info
    # 특정 패키지 이하 로그 레벨 설정
    logging.level.com.example.demo01=debug

    이를 통해 특정 패키지나 전체 어플리케이션에 대해 세분화된 로그 레벨을 설정 할 수 있다.

    Copyright 2024. GRAVITY all rights reserved