Log4j2属性替换

时间:2016-11-03 13:47:02

标签: log4j2

在Log4j2 appender中使用contextPath作为文件名很有用,如: filename="/logs/${web:contextPath}.log。这意味着可以跨多个Web应用程序重用一个日志配置。

但是,如果contextPath为/foo/bar,则会创建文件/logs/foo/bar.log。无论如何要用/替换contextPath中的_,以便文件名为/logs/foo_bar.log

对我来说,这比直接将上下文路径结构复制到日志中更有用。我已经阅读了StringSubstitution文档,无论如何都无法查看,但如果有人有解决方案,那将非常有用!

1 个答案:

答案 0 :(得分:0)

我认为没有办法开箱即用。但您可以轻松创建执行此操作的自定义查找。

从子类WebLookup开始,并在返回的字符串中用下划线替换'/'字符。

创建自定义Log4j2查找的示例: 请参阅manual pagethis question