有没有办法配置一个 log4j.xml 文件让多个 appender 共享相同的布局?我已将布局参数复制到每个附加程序中,但如果模式发生变化,在多个位置更新它会很痛苦(而且我需要这样做似乎很奇怪)。
谢谢, 杰夫
最佳答案
您是否考虑过使用 log4j.properties 而不是 log4j.xml?属性版本接受值的变量替换。
您可以在 log4j.properties 文件 (someProp=value
) 中创建自己的属性,然后使用 ${someProp
} 获取值。
根据我的内存(虽然不确定 :D)你也可以在 log4j.xml 文件中有这个,但是变量必须定义为系统变量(-DsomeProp=value
)并且在你的log4j.xml 您再次使用 ${someProp}
。这个版本虽然有点困惑,因为您没有在使用它们的同一位置声明参数,就像在 log4j.properties 中那样。
关于java log4j.xml 多个附加程序共享一个布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2252311/