본문 바로가기

logback3

[Logback] Spring Logback configuration 과정 (2) - Spring 이번 포스팅에는 Spring profile 별, 에러 레벨 별로 다른 로그 정책을 설정하는 방법에 대해 소개해보겠습니다. 지난 포스팅에 살짝 언급했듯 Spring은 기본 로깅 전략을 담은 파일을 갖고 있습니다. base.xml ​ 지난 포스팅에 소개했었던 console-appender와 file-appender를 사용하고 INFO 레벨일 때 해당 appender를 적용하는 설정 파일이고, 우리가 스프링을 실행하면 볼 수 있는 로그이기도 합니다. {LOG_FILE:- default} 형태는 LOG_FILE이라는 property가 존재하지 않을 경우, 기본 값으로 default를 사용하겠다는 의미입니다. property는 와 같이 key-value 형태로 지정할 수 있습니다. 어떠한 로그 설정도 없으면 이 .. 2022. 7. 17.
[Logback] Spring Logback configuration 과정 (1) - Appenders 프로젝트를 진행하다 보면 Exception Handler에서 예외가 잡혀 stackTrace를 보지 못하고 에러 지점을 찾지 못하는 경우가 있습니다. 그런 경우에 Spring Boot에서 기본으로 제공하는 Logback을 사용하는데요, Lombok 플러그인을 사용하면 그 사용법이 정말 간단합니다. // lombok과 spring-boot-starter-web을 dependency에 추가해야합니다. @Slf4j public class LogbackTest { public static void main(String[] args) { log.info("어쩌규"); log.error("저쩌구"); } } 이렇게 코드로 작성한 로그를 항상 콘솔로 보며 모니터링 할 수 있을까요? 당연히 불가능합니다. 따라서 Spr.. 2022. 7. 16.
[Spring] 로그백을 사용하여 로그를 남겨보자 ExceptionHandler를 이용하여 에러를 핸들링할 때 에러가 어디서 발생한지 알 수 없는 이슈를 겪은 적이 있습니다. 이 문제를 해결하기 위해 모든 ExceptionHandler 메서드에 e.printStackTrace()를 사용했는데요. 개발 과정에서는 충분히 사용할 수 있지만 실제 프로그램을 운영할 때 해당 메서드를 이용해서 로깅을 하는 것은 적절하지 않다고 생각했습니다. 서버가 종료되면 어디서, 어떤 이유로 에러가 발생하는지 알 수 없기 때문입니다. 이 문제를 해결하기 위해 spring-boot-starter-web dependency에서 제공하는 logback 라이브러리를 이용하여 로깅을 남기고 로컬에 저장하는 과정을 학습해보았습니다. AS-IS @RestControllerAdvice pu.. 2022. 5. 13.