728x90
SLF4J란?
SLF4J(Simple Logging Facade for Java)는 Java 로깅을 위한 추상화 계층으로, 개발자가 특정 로깅 구현체에 종속되지 않도록 돕습니다. SLF4J를 사용하면 다양한 로깅 프레임워크(Logback, Log4j 등)를 교체하거나 적용하는 작업이 단순해집니다.
SLF4J의 특징
추상화 계층 제공
- 로깅 구현체(Logback, Log4j 등)를 선택적으로 사용 가능.
- 코드 변경 없이 구현체를 교체할 수 있음.
- Spring 프레임워크에서는 기본적으로 Logback을 구현체로 사용.
Logback의 주요 특징
Logback은 SLF4J의 기본 구현체로, 성능과 유연성을 중점에 둔 로깅 프레임워크입니다.
1. 비동기 로깅
- 별도의 스레드를 통해 로그 메시지를 처리하여 메인 스레드의 지연을 최소화.
- 입출력(I/O) 작업의 병목을 해소해 어플리케이션 성능에 긍정적 영향을 미침.
2. 효율적인 객체 생성
- Logback은 최소한의 객체 생성으로 메모리 사용량을 줄이고, 가비지 컬렉션(GC) 부담을 완화.
- 객체를 효율적으로 관리해 성능 최적화에 기여.
3. 배치 작업
- 여러 로그 이벤트를 한 번에 처리해 I/O 작업 효율성을 향상.
- 로그 처리와 관련된 리소스 사용을 줄여 어플리케이션 성능 개선.
4. 최적화된 문자열 처리
- 로그 메시지 생성 시 문자열 연결 비용을 최소화.
- 필요하지 않은 로그 메시지를 미리 생성하지 않음으로써 리소스 낭비를 방지.
5. 조건부 로깅
- 로그 레벨(INFO, WARN, ERROR 등) 설정을 통해 불필요한 로그 생성을 방지.
- 로깅 비용이 적은 수준에서 중요한 이벤트만 기록 가능.
6. 유연한 구성
- XML 또는 Groovy 스크립트로 로그 설정을 손쉽게 관리 가능.
- 로그 출력 형식, 로그 파일 크기, 로그 대상(콘솔, 파일 등)을 상세히 설정.
7. 다양한 로그 대상 지원
- 콘솔, 파일, 데이터베이스 등 다양한 출력 대상으로 로그를 기록 가능.
- 예: 파일 시스템의 로그 파일이나 원격 서버에 로그 저장.
8. 파일 로테이션
- 로그 파일이 특정 크기나 기간에 도달하면 새로운 파일 생성.
- 오래된 로그 파일 삭제나 압축 등도 지원.
728x90
'Spring Boot' 카테고리의 다른 글
[Spring Boot] HTTP Body 암호화 및 간단한 예제 (0) | 2024.12.17 |
---|---|
[Spring Boot] 로그 파일 생성하기 (0) | 2024.11.30 |
[Spring Boot] Lombok과 직렬화/역직렬화 (0) | 2024.11.25 |
[Spring Boot] 간단한 실시간 웹소켓 채팅 구현하기 (0) | 2024.11.22 |
[Spring Boot] AccessToken 및 RefreshToken 인증 구현하기 (1) | 2024.11.21 |