Configuration 在服务器启动时更改jboss-log4j.xml的名称/位置

Configuration 在服务器启动时更改jboss-log4j.xml的名称/位置,configuration,jboss,log4j,Configuration,Jboss,Log4j,在我的例子中,我有一个jboss-5.1,它应该根据它们的启动调用拉取不同的jboss-log4j.xml。不幸的是,我无法为xml文件找到类似-dloging.properties=的东西来提供不同的xml文件。如果我理解了您的问题,您希望JBoss不要使用默认的conf/JBoss-log4j.xml文件,而是使用另一个在启动脚本中定义为属性的文件。在这种情况下,您应该: 1) 修改文件conf/jboss-service.xml中定义的Log4jService的ConfigurationU

在我的例子中,我有一个jboss-5.1,它应该根据它们的启动调用拉取不同的
jboss-log4j.xml
。不幸的是,我无法为xml文件找到类似
-dloging.properties=
的东西来提供不同的xml文件。

如果我理解了您的问题,您希望JBoss不要使用默认的conf/JBoss-log4j.xml文件,而是使用另一个在启动脚本中定义为属性的文件。在这种情况下,您应该:

1) 修改文件conf/jboss-service.xml中定义的Log4jService的ConfigurationURL属性。原版看起来像:

  <attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>

@toni-s-magraner感谢您的投入。不幸的是,在我的windows 7-box上,该设置不受尊重。我将选项更改为apply
-Dlog4j.configuration.XmlFile=C:/log4j.xml
(java选项中正确地显示了这一点,但不幸的是,它仍然在使用jboss EAP 5.1.2在Linux Ubuntu中测试了原始jboss-log4j.xmlI,它成功了。奇怪的是,使用的操作系统不应该影响它。我将尝试在Windows环境中测试它,并让您知道我的结果。:-)我稍微修改了一下您的示例,因为这两个文件都位于标准配置目录中。如果我改为jboss-service.xml直接指向
resource:jboss-log4j-local.xml
它工作得很好,如果我将其写入
-Dlog4j.configuration.XmlFile=resource:jboss-log4j-local.xml
它会回到标准
jboss-log4j、 xml
。删除
资源:
不会更改任何内容。mmm,它仍然可以与您应用的更改一起工作,您可以根据需要命名属性(除非使用已经存在的属性名称)。那么,您是否尝试过jboss-service.xml行:${log4j.configuration.XmlFile},并且启动选项如您在第一条评论中所述?您完全正确,它可以工作。我的脚本在以后的状态中重写了属性。
  <attribute name="ConfigurationURL">${log4j.conf.file}</attribute>
  ./run.sh -Dlog4j.conf.file=/app/jboss/logconf/log4j.xml