스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 섹션6. 스프링 MVC - (외전) 로깅 간단히 알아보기
CS/김영한 스프링 강의

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 섹션6. 스프링 MVC - (외전) 로깅 간단히 알아보기

 

spring 프로젝트에서 thymeleaf starter를 포함하면 그 안에 logback이라는게 있다.

로그를 다루는 라이브러리는 엄청 많은데, 그 많은 로그 라이브러리를 하나의 인터페이스로 제공하는 것이 SFL4J 라이브러리다. 심지어는 이미 lombok에서도 지원할 정도.

 

로그는 다음과 같이 사용한다.

 

trace, debug, info, warn, error 5가지 단계가 있는데 뒤로 갈수록 심각한거임.

장점은 단계별로 설정할 수 있고, 어느 단계별로 볼 지는 properties에서 설정할 수 있다. 즉, 자기가 개발용인지 서비스용인지에 따라 똑같은 로그 출력 코드 debug, info가 있으면 디버그는 둘 다 출력되고 서비스용은 info 하나만 출력된다는 것이다. 개꿀이다. 거기다 성능도 이미 내부 버퍼링과 멀티 쓰레드 등을 많이 개선한 버전이라 더 빠르다. 로그를 저장하는 것도 얼마정도 쌓이면 분할해서 저장할지 등등도 이미 다 있다.

주의할건 + 연산을 사용해서 출력할 string을 만들면 안된다. 내가 출력하고 싶은 단계 미만의 코드는 원래 무시해야 하지만 일단 +연산 뒤에 무시되기 때문에 낭비.