我有一个奇怪的问题,即我的log4j日志记录在部署在tcServer上时有效,但在WebSphere 6.1上没有。 我创建了在log4j中指定的文件名。但是,即使其他Websphere日志(SystemOut.log等),它也不会填充。 我已经检查了我的WebSphere主目录的属性目录,并且没有相互冲突的log4j文件。
最奇怪的是它在tcServer上工作正常,因此它不会成为log4j文件本身的问题。这似乎是一些环境问题。 有没有人知道如何解决这个问题?
由于
答案 0 :(得分:3)
Log4j和WAS已经为很多应用程序提供了很好的方法。所以这种组合无论如何都不是新的。你是否使用log4j的任何包装器(例如Commons Logging)?
打开log4j的调试。
-Dlog4j.debug =对WAS JVM参数为true。
这将提供有关log4j尝试执行的操作的信息。
这应该为WAS环境中发生的事情提供一些线索。
HTH
Manglu
答案 1 :(得分:1)
我们在WebSphere中安装了JCA连接器时出现了一个问题,该连接器随附了自己的log4j lib。由于连接器被加载到容器类加载器层次结构中,连接器中的log4j lib有效地覆盖了应用程序中的log4j。它还阻止了我们自己的log4j属性被加载,因为log4j已经被自举了。
你也可以在你的WAS堆栈中加载一些其他库或资源,它们随log4j一起提供。我们解决它的方式是在我们的应用程序中以编程方式进行显式log4j初始化(读取log4j属性)。