Websphere所有日志都将转到SystemOut.log
我在应用程序中使用Log4j,并且具有一些调试器和错误附加器。我在tomcat上进行了测试,并且工作正常。在其各自的文件中生成所有日志。但是,当我在WAS6.1上部署代码时,仅在SystemOut.log内部生成所有日志。
请帮忙!
回答:
问题可能是WebSphere 6.1在内部使用Jakarta Commons
Logging(JCL),并且如果您的任何代码或第3方库也使用JCL,则WebSphere的配置会与尝试使用log4j的应用程序冲突。如果发生这种情况,您将确切看到自己所看到的。
有许多参考资料和博客文章描述了解决此问题的方法。我们发现最简单的方法是org.apache.commons.logging.LogFactory
在META-
INF/servicesWeb应用程序的目录中(在WAR存档的根目录中)创建一个名为的文件。该文件必须包含以下行:
org.apache.commons.logging.impl.Log4jFactory
(至少使用WebSphere的较新版本…)另一个关键是,必须从与log4j jar相同的位置加载JCL jar。例如,两者都来自WEB-INF /
lib或都来自共享库。因此,您不能再依赖从WebSphere自己提供的副本加载JCL。如果它们是由不同的类加载器加载的,则它们将无法正确看到彼此。
以上是 Websphere所有日志都将转到SystemOut.log 的全部内容, 来源链接: utcz.com/qa/411602.html