Log4J事件查看器问题

时间:2011-09-02 11:19:10

标签: java log4j event-viewer

我开发了2个应用程序并在Websphere Aplication Server上发布它们。

由于我需要编写事件查看器上两个应用程序上发生的错误,因此我将log4j JAR文件放在Websphere Aplication Server的lib文件夹中,并成功加载文件os。

我还在两个应用程序的src root包下创建了log4j.properties文件,其中包含不同的变量名和源名称(“Application A”和“Application B”)。

当捕获一个execption时,它会被记录到事件查看器中。

问题是,即使在应用程序B上发生错误,所提供的源名称也是相同的“应用程序A”...

有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:0)

我不确定“具有不同变量名称和源名称的应用程序”是什么意思 - 您在两个应用程序中使用不同名称的记录器并直接输出到不同的appender?

但是,我看到你的配置存在一个问题:当你将你的log4j jar放入WAS lib文件夹时,它会加载你的应用程序常用的类加载器(一个bootstrap类加载器或扩展类加载器,取决于这个“lib”的位置) “目录是” - 这意味着log4j仅加载ONCE。考虑如何初始化log4j(使用静态代码部分),它也被初始化为ONCE,这意味着最多只读取一个log4j.properties。

尝试从WAS lib目录中删除log4j并将其与每个应用程序一起部署,查看它的位置。