java log4j.xml多个appender共享一个布局

Jef*_*rey 5 java configuration log4j

有没有办法配置log4j.xml文件让多个appender共享相同的布局?我已经将layout参数复制到每个appender中,但是如果模式发生变化,那么在多个地方更新它会很麻烦(而且我需要这样做很奇怪).

谢谢,杰夫

小智 3

您是否考虑过使用 log4j.properties 而不是 log4j.xml?属性版本接受值的变量替换。

您可以在 log4j.properties 文件 ( ) 中创建自己的属性someProp=value,然后使用${someProp} 获取值。

据我记得(虽然不确定:D),您也可以将其放在 log4j.xml 文件中,但变量必须定义为系统变量(-DsomeProp=value),并且在 log4j.xml 中您再次使用${someProp}. 不过这个版本有点混乱,因为您没有像在 log4j.properties 中那样在使用它们的同一位置声明参数。