我正在尝试在 Glassfish 服务器上设置应用程序日志记录。我使用 SLF4j 聚合所有内容并使用 Logback 绑定来编写文件。我还在项目中添加了log4j-over-slf4j,jul-to-slf4j和jcl-over-slf4j库。当然slf4j-api,Logback 也有。所有的库都在 projectWEB-INF/lib和glassfish/lib/endorsed.
所以想法是:将所有内容重定向到 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 配置的日志文件中有日志条目 og Log4j 和 SLF4j。但是没有 JCL 条目。他们改为访问 server.log 文件。
问题是:为什么 JCL 条目会被 Glassfish 记录器捕获,如何防止?