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