목차
Slf4j를 사용하는 이유
개발을 하면서 로그를 띄울 때 System.out.println()을 사용하는 경우가 있다.
그러나 System.out.println()으로 디버깅을 할 경우 배포한 이후에도 해당 메세지가 콘솔에 계속 출력되고, 이는 심각한 성능 저하로 이어진다. 그렇다고 매번 디버깅 메세지를 썼다가 지웠다 하기는 매우 번거롭다.
Slf4j를 사용하면 메세지의 log level을 설정할 수 있고, 개발 단계 로그의 log level과 배포 단계 로그의 log level을 구분하면 log4j.xml을 통해 쉽게 특정 단계의 로그만 출력되도록 할 수 있다.
log level과 log4j.xml에 관한 글
Slf4j 사용방법
log4j.xml 설정 변경
log4j.xml의 Application Loggers의 log level을 debug레벨로 변경한다.
log 출력 코드 작성
@Slf4j Annotaion을 Class 위에 작성하면 log 필드가 자동으로 생성된다.
이 log 필드를 사용해 로그를 출력할 수 있다.
@Controller
@RequestMapping("/seller/product")
@Slf4j
public class SellerProductController {
... ...
@GetMapping("/regist.do")
public String regist(Model model) {
log.debug("로그출력테스트!!!");
... ...
}
}
출력 결과 확인
이렇게 디버그 단계의 로그를 확인할 수 있다.
배포를 할 경우에는 log4j.xml의 application logger의 log level을 info로 바꿔서 배포하면 배포서버의 로그 발생을 줄일 수 있다.
'컴퓨터공학 > 스프링' 카테고리의 다른 글
Spring의 처리 흐름 (0) | 2023.12.11 |
---|---|
DB 접속정보 git에 공유되지 않도록 설정하기 (0) | 2023.12.10 |
[log4j.xml] 스프링의 디버깅 로그 자세히 띄우기 (1) | 2023.12.10 |
테스트 도구 Junit (0) | 2023.12.07 |
Interceptor (0) | 2023.12.05 |