Glassfish 서버에서 응용 프로그램 로깅을 설정하려고합니다. 나는 SLF4j를 사용하여 모든 것을 집계하고 Logback 바인딩을 사용하여 파일을 작성합니다. 또한 log4j-over-slf4j
, jul-to-slf4j
및 jcl-over-slf4j
라이브러리를 프로젝트에 추가했습니다. 물론 slf4j-api
과 Logback 것들도 있습니다. 모든 도서관은 프로젝트 WEB-INF/lib
과 glassfish/lib/endorsed
에 있습니다.JCL이 SLF4j를 통해 Glassfish에 로그인했습니다.
따라서 아이디어는 SLF4j로 모든 것을 리디렉션 한 다음 Logback으로 로그하는 것입니다. 내가 테스트를 위해 다음과 같은 부분을 가지고있는 코드에서
:jclLog.debug("Login JCL: Debug level");
jclLog.error("Login JCL: Error level");
log4jLog.debug("Login Log4j: Debug level");
log4jLog.error("Login Log4j: Error level");
slfLog.debug("Login SLF4j: Debug level");
slfLog.error("Login SLF4j: Error level");
실행 후 Logback 구성된 로그 파일의 Log4j와 SLF4J og의 로그 항목이 있습니다. 그러나 JCL 엔트리는 존재하지 않습니다. 대신 server.log 파일로 이동합니다.
질문 : JCL 항목이 Glassfish logger로 인해 막히게 된 이유는 무엇일까요?