본문 바로가기
👨‍💻 프로그래밍/⚙️ 배포 (AWS, Docker, K8S)

Logback 간단하게 알아보기

by 개발자 진개미 2023. 10. 1.
반응형

Logback이 뭐 하는 걸까?

Logback은 Java에서 가장 많이 사용되는 Logging 라이브러리입니다. 

 

 

Logback Home

Logback Project Logback is intended as a successor to the popular log4j project, picking up where log4j 1.x leaves off. Logback's architecture is quite generic so as to apply under different circumstances. At present time, logback is divided into three mod

logback.qos.ch


Logback의 간단한 구조

Logback은 크게 3가지로 구성되어 있습니다. Logger, Appender, Encoder입니다. 

Appender

우선 Appender는, Log가 출력될 대상을 결정합니다. Log는 Console에 출력할 수도 있고, File로 출력할 수도 있고, 이메일로 보낼 수도 있고, DB에 저장할 수도 있고, Slack에 저장할 수도 있고, ELK 같은 스택을 통해 저장할 수도 있습니다. 이런 다양한 출력 대상을 Appender를 구현해서 지원할 수 있습니다. 일종의 interface라고 봐도 됩니다!

 

Encoder

Encoder는 이름 그대로 Log를 Encode합니다. Log가 개발자에 따라 여러 형식으로 되어 있으면 검색하기도 불편하고, 이해하기도 불편합니다. 

 

 

Logger

Logger는 Appender, Encoder를 사용해서 Log를 실제 수행합니다.


Logback의 Log Level

   
TRACE DEBUG 보다 더 상세하게 표시
DEBUG 디버깅에 필요할 거 같은 정보표시
INFO 꼭 필요하지는 않은 정보성 표시
WARN 나중에 ERROR가 될 가능성이 있는 경고 표시
ERROR 처리중 오류가 나면 표시

Logback 사용하기

Spring은 기본적으로 Logback을 사용하기 때문에 LoggerFactory에서 Logger 객체를 가져와서 사용하거나, Lombok의 @Slf4j를 사용해서 쉽게 Logger 객체를 가져올 수 있습니다.

Logger logger = LoggerFactory.getLogger(Example.class);
logger.warn("WARNING!");

 

@Slf4j
public class Example {
    public void example() {
    	logger.warn("WARNING!");
    }
}

 

반응형