java - 丢失日志 - log4j.xml 配置似乎被忽略 - Weblogic 9.2

标签 java log4j weblogic slf4j

我正在 WebLogic 9.2 上运行 EAR 中打包的 WAR。我的功能是使用 slf4j 使用 log4j.xml 配置进行日志记录。 log4j.xml位于war项目的resources目录中,因此它位于WEB-INF/classes目录中。

Windows 下的 WebLogic 8Weblogic 9.2 一切正常,但是 Linux 下的 WebLogic 9.2 只是忽略该文件并且没有日志文件已创建。

我测试了以下修改:

  1. 将目录名称从 File 参数中删除到 RollingFileAppender,仅保留文件名
  2. 在 war 中包括和排除 log4j(范围提供)
  3. slf4j 版本 1.5.10 与 log4j 版本 1.2.8(来自 weblogic)和 1.2.12 一起使用
  4. 将单独的 log4j.xml 放入 mydomain/conf 目录

但是,它们都没有使日志消息出现在任何地方。即使 info 消息也不会显示在主日志中,但它是为 info 消息设置的,并且在以前的 weblogic 上它们也会显示在主日志中。

更糟糕的是,即使 System.out 调用也会转到 null 并且不会显示在任何地方。

所以,目前我不知道出了什么问题,因为甚至没有关于日志配置的错误消息。有人可以帮忙吗?


更新了一些。

我已经成功为 weblogic 设置了 log4j.debug=true 选项,并且收到了公报:log4j:WARN No Appender can be find for logger

但是 log4j.xml 文件存在于 WEB-INF/classes 中。我另外将其添加WEB-INF中。它现在和过去都在 Windows 下运行。所以我不知道是什么原因导致在Linux下找到这个文件的问题。


更新2 日志记录在 WebLogic 9.2 的 Linux 版本下工作。该问题是特定于实例的。但我仍然不知道要搞砸什么才能达到这样的错误效果。在网络控制台的配置中,我没有看到任何可疑的东西。

最佳答案

我发现这个环境选项非常宝贵:-Dlog4j.debug=true 它向您展示了 log4j 如何初始化以及它在何处查找其配置文件。

关于java - 丢失日志 - log4j.xml 配置似乎被忽略 - Weblogic 9.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9482600/

相关文章:

java - 如果暂停java游戏则无限循环

java - 从 ByteBuffer 解析多个 JSON

java - 无论我做什么,JLabel 都不显示

Log4j : Multiple loggers, 级别和附加程序

java - 重定向 xsl :message to log4j

java - 有什么方法可以在不重新启动的情况下清除 weblogic 服务器中的实体缓存? [用于调试]

java - 为什么 java 使用 JAVA_HOME/lib/security/cacerts 的默认位置 keystore /信任库,尽管我提供了 -Djavax.net.ssl.trustStore 属性

java - 如何通过Java刷新Excel数据源

java - "xmlns:log4j"是 <log4j :configuration> tag? 的必需属性吗

java - OC4J 到 Weblogic 的迁移步骤