반응형
Logback이 뭐 하는 걸까?
Logback은 Java에서 가장 많이 사용되는 Logging 라이브러리입니다.
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!");
}
}
반응형
'👨💻 프로그래밍 > ⚙️ 배포 (AWS, Docker, K8S)' 카테고리의 다른 글
다양한 배포 전략 비교 (카나리, 블루그린, 롤링, 그림자) (0) | 2024.08.24 |
---|---|
Git 파일의 Life Cycle 이해하기 (0) | 2023.06.29 |
쿠버네티스가 뭘까? 작동원리, 아키텍처 정리! (0) | 2023.04.02 |
도커(Docker)가 뭐고 어디에 쓰는걸까? (0) | 2022.08.16 |