SLF4J
SLF4J![]() | |
개발자 | 체키 귈퀴 |
---|---|
안정된 릴리스 | 1.7.36 / 2022년 2월 [1] ; 전( |
저장소 | |
기입처 | 자바 |
운영 체제 | 크로스 플랫폼 |
유형 | 로깅 도구 |
면허증. | MIT 라이선스 |
웹 사이트 | www |
Simple Logging Passide for Java(SLF4J)는 단순한 파사드 패턴을 사용하여 Java 로깅 API를 제공합니다.기본 로깅 백엔드는 클래스 경로에 원하는 바인딩을 추가하여 런타임에 결정되며 표준 Sun Java 로깅 패키지 java.util.logging,[2] log4j, reload4j, logback[3] 또는 tinylog일 [4][5]수 있습니다.
로깅 백엔드에서 클라이언트 API를 분리하면 애플리케이션과 특정 로깅 프레임워크 간의 결합이 줄어듭니다.이를 통해 기존 또는 서드파티 코드와 통합하거나 이미 로깅 백엔드를 선택한 다른 프로젝트에 코드를 쉽게 전달할 수 있습니다.
SLF4J는 자카르타 Commons Logging [6][7]프레임워크의 보다 신뢰할 수 있는 대안으로 Ceki Gülcü에 의해 만들어졌다.2013년에 10,000개의 GitHub 프로젝트를 조사한 결과, 가장 인기 있는 Java 라이브러리는 JUnit과 함께 SLF4J이며, 프로젝트 중 30.7%가 [8]이를 사용하고 있는 것으로 나타났습니다.2021년 1월 mvnrepository에 따르면 [9]두 번째로 인기 있는 프로젝트로 꼽혔다.
log4j 1.x와의 유사점 및 차이점
- log4j의 6가지 로깅 수준 중 5가지(ERROR, WARN, INFO, DEBUG, TRACE)가 사용됩니다.FATAL은 로깅 프레임워크 내에서 응용 프로그램이 언제 종료될지 결정하는 장소가 아니기 때문에 로거의 관점에서 ERROR과 FATAL 사이에 차이가 없다는 이유로 폐기되었습니다.또한 SLF4J 마커는 보다 일반적인 방법으로 로그 문에 태그를 붙입니다.예를 들어, ERROR 수준의 모든 로그 문에는 "FATAL" 마커로 태그를 지정할 수 있습니다.
- Logger 인스턴스가를 통해 창조된 있다.
LoggerFactory
매우 log4j에서 비슷하다.예를들면,사적인 정적인 최종 Logger 로그. = LoggerFactory.getLogger(웜뱃.학급);
- Logger에서, 벌목 방법은, 하나, 둘 이상의 값을 형식과 함께 바빴다.[10]간단한 패턴의 Occurrences.
{}
로그 메세지에선 가치들에 차례로 교체된다.이 사용할 아직 값 비싼 성능 혜택을 제공한다 간단하다.toString()
방법들.언제 로그인 이 수치에 사용하지 않는 벌목의 틀이 값의 문자열 표현을 산정하기 위하여, 또는 통나무 메시지가 실제로 접속하지 않다 문자열을 필요로 하지 않는다.다음 예제에서는, 문자열 연쇄나.toString()
가치들에 메서드count
또는userAccountList
때 DEBUG의 활성화만 수행하니.
로그..디버그("현재 있" + 세어보세요 + " 사용자 계정: " + user Account List(사용자 계정 목록)); // 느리다 로그..디버깅("현재 {}개의 사용자 계정이 있습니다. {}", 세어보세요, user Account List(사용자 계정 목록)); // 고속
- 동일한 메서드가 로거에 존재합니다.
isDebugEnabled()
보다 복잡한 로깅콜을 랩하여 대응하는 레벨이 디세이블일 때 디세이블이 되도록 하고 불필요한 처리를 회피합니다. - log4j와 달리 SLF4J는 마커를 허용하는 로깅 방법을 제공합니다.이것들은 로그 메시지를 풍부하게 하는 특별한 오브젝트입니다.현재 마커를 사용하는 프레임워크는 로그백뿐입니다.
log4j 2.x와의 유사점 및 차이점
Apache log4j 2.x는 모든 slf4j [11]기능을 지원합니다.
버전 이력
버전 2
버전 2는 현재 개발 중이며 알파 프리 릴리즈를 사용할 수 있습니다.Java 8 이후가 필요합니다.
대폭적인 기능 추가:
버전 1
버전 세부 정보는 설명서에서 확인할 수 있습니다.
중요한 버전은 다음과 같습니다.
- 버전 1.7.35 slf4j-log4j12 모듈은 slf4j-reload4j로 대체되었습니다.
- 버전 1.7.33에서는 slf4j-reload4j 모듈을 통한 reload4j 지원이 추가되었습니다.최신 안정판입니다.제품 다운로드 페이지를 참조하십시오.
- 버전 1.7.5에서는 로거 취득 시간이 대폭 향상되었습니다.
- 버전 1.7.0에서는 varargs 지원이 추가되어 Java 5 이후 지원이 필요합니다.
- 버전 1.6에서는 바인딩을 찾을 수 없는 경우 기본적으로 사용되는 no-operation 구현이 제공되었습니다.
- Maven 저장소의 버전 1.1 릴리스는 2006-09년에 시작되었습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "SLF4J News". slfj4.org. 2022-02-08.
- ^ java.displaces.displaces
- ^ 로그백
- ^ 작은 로그
- ^ tinylog용 SLF4J 바인딩
- ^ "Commons-Logging API를 채택하기 전에 다시 생각해 보세요."
- ^ "Jakarta Commons Logging 사용 시 발생하는 클래스 로더 문제의 택소노믹성"
- ^ "We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby".
- ^ Nicolas, Frenkel. ""most popular" section". Twitter. Retrieved 2022-01-16.
{{cite web}}
: CS1 maint :url-status (링크) - ^ SLF4J API 문서: Logger
- ^ Apache log4j 2.x slf4j 바인딩