有没有办法配置log4j.xml文件让多个appender共享相同的布局?我已经将layout参数复制到每个appender中,但是如果模式发生变化,那么在多个地方更新它会很痛苦(而且我需要这样做很奇怪)。
感谢, 杰夫
答案 0 :(得分:3)
您是否考虑过使用log4j.properties而不是log4j.xml?属性版本接受值的变量替换。
您可以在log4j.properties文件(someProp=value
)中创建自己的属性,然后使用${someProp
}来获取值。
根据我的记忆(不确定但是:D)你也可以在log4j.xml文件中使用它,但变量必须定义为系统变量(-DsomeProp=value
)并在你的log4j.xml中再次使用${someProp}
。这个版本有点乱,因为你没有在你使用它们的同一个地方声明params,就像你在log4j.properties中那样。