gpt4 book ai didi

java - Log4j2:RollingFile appender 中的 filePattern 的属性替换工作不正确

转载 作者:搜寻专家 更新时间:2023-11-01 03:04:50 25 4
gpt4 key购买 nike

我正在尝试使用 log4j2(2.0.2) 和 10 个日志文件在 tomcat 7.0.23 中配置 RollingFile appender。

我在 filePattern 中使用 ${sys:catalina.base},它不起作用,日志文件放在 tomcat/bin/${sys:catalina.base}/目录中。

有趣的是,第一个日志文件(没有编号)创建成功,在 tomcat/logs 下——这意味着它成功地将文件名属性映射到真实路径。

当我用 filePattern="C:/apache-tomcat-7.0.23/logs/app.%i.log"替换 ${sys:catalina.base} 时,它起作用了。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%X{REQ_ID}] [%c{1}] %m%n"/>
</Console>
<RollingFile name="FILE" fileName="${sys:catalina.base}/logs/app.log"
filePattern="${sys:catalina.base}/logs/app.%i.log">
<PatternLayout pattern="%d %-5p [%X{REQ_ID}] [%c{1}] %m%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</Root>
</Loggers>
</Configuration>

意思是 filePattern 没有被正确解释。

如何在不必静态指定日志目录的情况下克服这个问题?

感谢帮助

最佳答案

您描述的内容与 LOG4J2-829 中报告的问题非常相似.这是 2.0-RC2 版本中引入的错误。它最近在 master 中得到修复,修复将包含在即将发布的 2.1 版本中。 (我希望 2.1 会在下周的某个时间发布——但没有任何 promise ……)

如果您赶时间,可以从 Log4j2 GIT repository 查看代码和 build本地 2.1-SNAPSHOT。

关于java - Log4j2:RollingFile appender 中的 filePattern 的属性替换工作不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26284804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com