Spring,log4j和JBoss4

时间:2009-06-30 20:47:48

标签: spring log4j jboss-4.2.x

我正在运行JBoss 4.2.3.GA,并且有一个使用Spring和Log4j的Web应用程序。我已经设置了Spring的Log4jConfigurer,但由于JBoss的log4j文件不在类路径上,所以我遇到了问题。它位于jboss.home / server / defaul / conf / jboss-log4j.xml。因此,如果没有对Log4jConfigurer中的路径进行硬编码,我怎样才能让Spring使用JBoss的log4j文件?

2 个答案:

答案 0 :(得分:0)

你通常不会通过应用程序修改JBoss的log4j配置,这是一条疯狂的途径。 JBoss在所有应用程序中使用共享配置。

然而, 可以通过编程方式更改log4j的运行时配置,例如添加自定义appender或logger。这不是Spring的Log4jConfigurer的用途,但是 - 您可以使用它来配置独立的log4j配置。

答案 1 :(得分:0)

回答你的问题:JBoss通常会设置指向服务器目录和配置目录的其他系统属性。您应该能够从应用程序访问这些应用程序,或者让它们从弹簧上下文中解析出来。

在您的情况下,可以访问${jboss.server.home.dir}/conf/jboss-log4j.xml

正如skaffman在评论中正确指出的那样,除非你在包装中改编了一些内容,否则不需要将Spring配置为读取JBoss的log4j配置。您只需要注意在类路径的根目录中没有log4j.[properties,xml]或者组件试图“手动”配置Log4J。

希望这可以提供帮助,
Kariem