프로그래밍/JAVA

Logback - Exception 로그 기록

hangbeeeeeen 2023. 10. 10. 16:51

보통 에러로그(StackTrace)가 Console에 출력되는것은 기본이며 ConsoleAppender가 출력하는것이 아님 

log 파일을 생성하여 기록할 때 printStackTrace를 통해 나온 에러는 console에 표시될 뿐 파일에 저장되지 않음 

logger를 통해 에러를 기록해줘야 함 

기록되지 않는 예

private final Logger logger = LoggerFactory.getLogger(getClass());

    try{
      throw new Exception("Error");
    }catch(Exception e){
      e.printStackTrace();
    }

수정 후

private final Logger logger = LoggerFactory.getLogger(getClass());

    try{
      throw new Exception("Error");
    }catch(Exception e){
      logger.error("messege", e);
    }

* javadoc을 보면 스택 추적의경우 두번째 인수여야 한다고 함

https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Category.html#error%28java.lang.Object,%20java.lang.Throwable%29

참조

https://forgiveall.tistory.com/468

반응형