Log4j2属性替换



在Log4j2 appenders中,使用contextPath作为文件名是有用的,如下所示:filename="/logs/${web:contextPath}.log。这意味着一个日志配置可以在多个web应用中重用。

然而,如果一个contextPath是/foo/bar,这将创建文件/logs/foo/bar.log。是否有办法用_替换上下文路径中的/,以便文件名为/logs/foo_bar.log ?

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

我不认为有一种方法可以做到这一点。但是您可以轻松地创建一个自定义查找来完成此工作。

首先创建WebLookup的子类,并在返回的字符串中将'/'字符替换为下划线。

创建自定义Log4j2查找的示例:请参阅手册页或此问题。

最新更新