Dev*_*v G 7 java websphere log4j
我在我的应用程序中使用Log4j并有一些调试和错误的appender.我在tomcat上测试了这个并且工作正常.生成各自文件中的所有日志.但是当我在WAS6.1上部署代码时,所有日志都只在SystemOut.log中生成.
请帮忙!
问题可能是WebSphere 6.1在内部使用Jakarta Commons Logging(JCL),如果您的任何代码或第三方库也使用JCL,那么WebSphere的配置会与尝试使用log4j的应用程序冲突.如果发生这种情况,你会看到你所看到的确切内容.
有多篇参考文献和博客文章描述了解决此问题的方法.我们发现最简单的方法是创建一个org.apache.commons.logging.LogFactory在META-INF/servicesWeb应用程序目录中命名的文件(在WAR归档的根目录中).此文件必须包含以下行:
org.apache.commons.logging.impl.Log4jFactory
Run Code Online (Sandbox Code Playgroud)
(至少对于较新版本的WebSphere ...)另一个关键是必须从与log4j jar相同的位置加载JCL jar.例如,来自WEB-INF/lib或来自共享库的两者.因此,您不能依赖于从WebSphere自己提供的副本加载JCL.如果他们被不同的类加载器加载,他们就无法正确地看到对方.
| 归档时间: |
|
| 查看次数: |
10030 次 |
| 最近记录: |