본문 바로가기
SpringBoot

logging @Slf4j

by 오렌지마끼야또 2022. 8. 5.
728x90
반응형

 

 

 

 

로깅이란

 - 로깅(logging)은 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동을 말한다.

 

 

 

로그 레벨

 - 레벨에 따라서 로그 메세지가 달라진다.

 - TRACE < DEBUG < INFO < WARN < ERROR
 - ERROR: 요청을 처리하는 중 오류가 발생한 경우를 표시한다.
 - WARN: 처리 가능한 문제, 시스템 에러의 원인이 될 수 있는 경고성 메시지를 표시한다.
 - INFO: 상태 변경과 같은 정보성 로그를 표시한다.

 - DEBUG: 프로그램을 디버깅하기 위한 정보를 표시한다.
 - TRACE: 추적 레벨은 DEBUG보다 좀 더 상세한 정보를 표시한다.

 

* xml 파일에 원하는 레벨만 설정 가능

 

 

 




주요 Logging Framework
 - java.util.logging
 - Apache Commons logging
 - Log4j

 - Logback

 

* 스프링 부트에서는 기본적으로 SLF4J, Logback을 채택하고 있음

 

 

 

SLF4J(Simple Logging Facade for Java)

 - java.util.logging, logback 및 log4j와 같은 다양한 로깅 프레임 워크에 대한 추상화(인터페이스) 역할을 하는 라이브러리.

 - SLF4J는 추상 로깅 프레임워크이기 때문에 단독으로는 사용하지 않는다.

 - 즉, 최종 사용자가 배포시 원하는 로깅 프레임워크를 결정하고 사용해도 SLF4J가 인터페이스화 되어있기에, SLF4J를 의존하는 클라이언트 코드에서는 실제 구현을 몰라도 된다(의존관계 역전 법칙).

* Facade Pattern

 - 파사드 패턴은 일련의 복잡한 내부 동작들을 하나로 묶어주는 인터페이스를 만드는 패턴이다.

 - 다양한 시스템, 라이브러리, 내부 모듈 등을 구성을 통해 통합해서 기능을 제공하는 것이다.

 - 파사드 클래스는 다양한 객체의 협력을 내부에 감싸서 캡슐화해서 제공하기 때문에 사용하는 객체는 그 내부에서 일어나는 일들을 알지 못한다.

 

 

 

 

SLF4J 동작과정

https://livenow14.tistory.com/63

 

[Logging] SLF4J란?

블로그를 작성하고, 테코톡을 진행했어요. 더 쉽게 이해하고 싶다면 아래 영상을 시청해주세요! [10분 테코톡] ☂️ 검프의 Logging(로깅) #1 SLF4J(Simple Logging Facade for Java) 는 이름에서 확인할 수 있

livenow14.tistory.com

 

 

 

 

어노테이션 미사용 코드

 

 

 

 

 

@Slf4j

 - import lombok.extern.slf4j.Slf4j;

 

 

어노테이션 사용 코드

 

 

 

 

 

 

 

사진 출처 및 참고

 

https://enai.tistory.com/35

 

https://inseok9068.github.io/java/java-lombok-slf4j/

 

https://livenow14.tistory.com/63

 

https://gmlwjd9405.github.io/2019/01/04/logging-with-slf4j.html

 

 

 

 

 

728x90
반응형

댓글