2011-09-01 40 views
2

我有一个奇怪的问题,我的log4j日志记录在tcServer上部署,但在WebSphere 6.1上部署时运行。 创建了我在log4j中指定的文件名。但是,即使其他Websphere日志(SystemOut.log等)也是如此。 我已经检查了我的WebSphere的主目录的属性目录,并且在那里没有冲突的log4j文件。log4j不能在WebSphere中工作

最奇怪的是,它在tcServer上工作正常,所以它不能成为log4j文件本身的问题。这似乎是一些环境问题。 有没有人有任何想法如何解决这个问题?

感谢

+0

你是否包含任何使用Commons Logging的库?你是说你的log4j语句*出现在SystemOut.log中? – dbreaux

+0

@dbreaux - 对我来说,这是系统管理,但不是文件,我错过了什么? – AngryJS

+0

@AngryJS看看是否有帮助:http://stackoverflow.com/a/8138477/796761 – dbreaux

回答

2

Log4j和WAS已经好太多的应用工作。所以这个组合并不是什么新手。你是否使用log4j的任何包装器(例如Commons Logging)?

打开log4j的调试。

-Dlog4j.debug =对WAS JVM参数为真。

这将提供有关log4j尝试执行的操作的信息。

这应该为WAS环境中发生的情况提供一些线索。

HTH

Manglu

1

我们有一个问题,一会儿回来时,我们安装在WebSphere一个JCA连接器来了包装与它自己的log4j库。由于连接器被加载到容器类加载器层次结构中,因此连接器中的log4j库有效地覆盖了我们应用程序中的log4j。它也阻止了我们自己的log4j属性被加载,因为log4j已经被引导。

这将是,你也有一些其他库或资源加载在你的WAS堆栈随log4j。我们解决它的方式是在我们的应用程序中以编程方式进行显式的log4j初始化(读取log4j属性)。