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

时间:2010-02-12 14:14:41

标签: java configuration log4j

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

感谢, 杰夫

1 个答案:

答案 0 :(得分:3)

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

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

根据我的记忆(不确定但是:D)你也可以在log4j.xml文件中使用它,但变量必须定义为系统变量(-DsomeProp=value)并在你的log4j.xml中再次使用${someProp}。这个版本有点乱,因为你没有在你使用它们的同一个地方声明params,就像你在log4j.properties中那样。