dhc*_*hen 14 weblogic slf4j weblogic12c
我们正在使用slf4j构建新的systen作为日志记录.在新的Weblogic 12c上部署时,我们在控制台日志中发现了这个错误:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/Oracle/Middleware2/modules/org.slf4j.jdk14_1.6.1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [zip:/opt/Oracle/Middleware2/user_projects/domains/m3/servers/AdminServer/tmp/_WL_user/test/t030q4/war/WEB-INF/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索之后,我们发现这只是一个警告,slf4j将绑定第一个找到的记录器,在这种情况下是weblogic的系统记录器框架.有没有办法让它绑定到我们的WAR文件中的日志框架?在weblogic.xml中使用<prefer-web-inf-classes>没有帮助
小智 33
不应对类进行过滤,而应对资源进行过滤,因为SLF4J将查找StaticLoggerBinder.class
资源而不是类.
也可以在weblogic-application.xml中包含它:
<wls:prefer-application-packages>
<wls:package-name>org.slf4j.*</wls:package-name>
<wls:package-name>org.apache.commons.*</wls:package-name>
</wls:prefer-application-packages>
<wls:prefer-application-resources>
<wls:resource-name>org/slf4j/impl/StaticLoggerBinder.class</wls:resource-name>
</wls:prefer-application-resources>
Run Code Online (Sandbox Code Playgroud)
并且将使用您的记录器而不是System ClassLoader中的记录器.
归档时间: |
|
查看次数: |
21859 次 |
最近记录: |