我在 WebLogic 9.2 上运行在EAR中打包的WAR。我的功能是使用 slf4j 来使用 log4j.xml 配置进行记录。 log4j.xml位于resources
项目的war
目录中,因此它位于WEB-INF/classes
目录中。
Windows下的所有内容都在 WebLogic 8 和 Weblogic 9.2 下工作,但Linux下的 WebLogic 9.2 只是忽略了文件而没有日志文件已创建。
我测试了以下修改:
File
param移至RollingFileAppender
,仅保留文件名log4j
(范围provided
)slf4j
版本1.5.10与log4j
版本1.2.8(来自weblogic)和1.2.12 mydomain/conf
目录但是,他们都没有在任何地方显示日志消息。甚至info
消息也不会显示在主日志中,但是它会为info
消息设置,而在之前的weblogic中,它们也会显示在主日志中。
更糟糕的是,即使System.out
来电也会转到null
并且无处可见。
所以,目前,我不知道出了什么问题,因为即使没有关于日志配置的错误消息也存在。有人可以帮忙吗?
我更新了一下。
我已经成功为weblogic设置了log4j.debug = true选项,我收到了公报:log4j:WARN No appenders could be found for logger
但WEB-INF/classes
中的log4j.xml文件 。我还将添加到WEB-INF
。它现在正在Windows下工作。所以我不知道在Linux下找到这个文件的原因是什么。
更新2 在Linux版本的 WebLogic 9.2 下记录工作。问题是特定于实例的。但我仍然不知道为了达到这样的混乱效果可以搞砸什么。在Web控制台的配置中,我没有看到任何可疑之处。
答案 0 :(得分:3)
我觉得这个环境选项非常有用:-Dlog4j.debug = true 它向您展示了log4j如何初始化以及它在何处查找其配置文件。
答案 1 :(得分:0)
好吧,在与weblogic大师的谈话之后,我发现了几百万页的weblogic文档,我找到了解决方案:
weblogic 下从不用户 log4j !
并且,应用这个格言,我已切换到 logback 。
它正在发挥作用!如此多的神经和解决方案是如此简单......但是,我们无法使用 slf4j 在 jBoss 下启动回溯,因此它是特定于服务器的:(