当前位置: 首页 > 面试题库 >

Websphere所有日志都将转到SystemOut.log

徐经武
2023-03-14
问题内容

我在应用程序中使用Log4j,并且具有一些调试器和错误附加器。我在tomcat上进行了测试,并且工作正常。在其各自的文件中生成所有html" target="_blank">日志。但是,当我在WAS6.1上部署代码时,仅在SystemOut.log内部生成所有日志。

请帮忙!


问题答案:

问题可能是WebSphere 6.1在内部使用Jakarta Commons
Logging(JCL),并且如果您的任何代码或第3方库也使用JCL,则WebSphere的配置会与尝试使用log4j的应用程序冲突。如果发生这种情况,您将确切看到自己所看到的。

有许多参考资料和博客文章描述了解决此问题的方法。我们发现最简单的方法是org.apache.commons.logging.LogFactoryMETA- INF/servicesWeb应用程序的目录中(在WAR存档的根目录中)创建一个名为的文件。该文件必须包含以下行:

org.apache.commons.logging.impl.Log4jFactory

(至少使用WebSphere的较新版本…)另一个关键是,必须从与log4j jar相同的位置加载JCL jar。例如,两者都来自WEB-INF /
lib或都来自共享库。因此,您不能再依赖从WebSphere自己提供的副本加载JCL。如果它们是由不同的类加载器加载的,则它们将无法正确看到彼此。



 类似资料:
  • 3)是否有任何方法告诉journald从特定文件中获取日志? 4)如果没有,有什么变通办法吗?

  • 我想管理日志旋转在我的服务器上使用logRotate,但是Tomcat执行自己的日志旋转,与logRotate交互不良,我找不到关闭它的方法。我的Tomcat实例目前生成5种类型的日志: catalina.2018-01-17.log mysite_access.2018-01-17.log localhost2018-01-17.log host-manager.2018-01-17.log m

  • 我无法在WLP v8.5.5.1中找到一个日志文件,其中显示了客户端发起的请求URL和请求方法。我们有一堆由顾问提供的REST服务(HTTPS),但在中,我没有找到任何请求记录(有一堆日志文件,如)。

  • 从其他问题中,我发现WebSphere和Spark都在内部使用SLF4J。如何防止Spark中的SLF4J通过自身重定向来自其他应用程序的所有日志记录? 我使用的是WebSphere Application Server V8.5.5.6和Apache Spark V1.4.1 CHD4二进制发行版。

  • 主要内容:日志文件的命名规则,logrotate配置文件,把自己的日志加入日志轮替日志是重要的系统文件,记录和保存了系统中所有的重要事件。但是日志文件也需要进行定期的维护,因为日志文件是不断增长的,如果完全不进行日志维护,而任由其随意递增,那么用不了多久,我们的硬盘就会被写满。 日志维护的最主要的工作就是把旧的日志文件删除,从而腾出空间保存新的日志文件。这项工作如果靠管理员手工来完成,那其实是非常烦琐的,而且也容易忘记。那么 Linux 系统是否可以自动完成日志的轮替工作呢?

  • 我的Java应用程序使用Log4j2作为其日志记录实现,它依赖于使用Log4J的第三方库。 你能建议我如何将这些第三方库的日志记录程序路由到myAppender吗?