Legday

[Spring] 로깅 레벨(Logging Level) 이란 ? 본문

Spring&Springboot/Spring(개인공부용)

[Spring] 로깅 레벨(Logging Level) 이란 ?

Legday 2022. 12. 8. 00:57

 

프로그램을 개발 및 운영 할때는 프로그램의 문제점이나 추적을 할때 로그를 남겨야 한다. 로그를 남기는 방법에는 System.out.println() 등의 방식이 있지만 실무에서는 로깅방식을 사용한다! ( 서버 과부하를 막기 위해! )

1. 로그 레벨 

  • 로그 레벨은 크게 5 개로 나누어진다. 
  • trace > debug > info > warn > error ( 좌측이 가장 높은 레벨이다 ) 
  • 로그 레벨을 설정하기 위해서는 application.properties 파일에 작성해줘야 한다.
logging.level.hello.springmvc = 로깅레벨

운영단계에서는 로깅레벨을 info 로 해두면된다.

info 로 했을때 info 를 포함한 아랫 레벨까지 다 기록된다.

개발단계에서는 로깅레벨을 debuf로 해두면된다.

debug로 했을 때 debug를 포함한 아래 레벨이 다 기록된다.

 

2. 로그이용법!!

2가지 방법이 있다. Logger 객체를 DI(의존성 주입) 을 하던가 어노테이션을 쓰는 방법이 있다.

private final Logger log = LoggerFactory.getLogger(getClass());
// org.slf4j 패키지 사용

// 어노테이션을 쓰면 따로 객체선언을 할 필요없다.
@Slf4j
로깅레벨 디폴트값은 info 이다!!

3. 올바른 로그 사용법!!

log를 남길때 + 연산자를 이용해서 문자열을 출력하지 않아야 한다!! 쓸데 없는 연산이 일어나기 때문!!

log.trace(" trace log =" + name); //현재 로깅레벨은 debug

위와 같이 하면 로깅레벨은 debug기 때문에 trace로그는 출력되지 않는다. 하지만 + 연산자로 문자열을 붙히기 때문에 쓸데없는 연산이 일어난다. 그래서 아래 방법으로 로그를 남기는게 정신건강에 좋다!!

log.trace("data={}",data); //이렇게하면 연산도 일어나지않고 출력된다.

 

로깅레벨을 상황에 맞게 설정할 수 있다!!

'Spring&Springboot > Spring(개인공부용)' 카테고리의 다른 글

[Spring] MVC 패턴  (0) 2022.12.11
[Spring] 요청 매핑  (0) 2022.12.11
SOLID 란?  (0) 2022.12.06
CSR , SSR 이란?  (0) 2022.12.06
[Spring] 서블릿(Servlet)이란 ?  (0) 2022.12.06