Art*_*nos 5 java logging rollingfileappender tomcat7 log4j2
我正在尝试使用 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>
Run Code Online (Sandbox Code Playgroud)
这意味着 filePattern 没有正确解释。
如何在不必静态指定日志目录的情况下克服这个问题?
谢谢您的帮助
您所描述的内容看起来非常类似于LOG4J2-829中报告的问题。这是 2.0-RC2 版本中引入的错误。它最近在 master 中得到修复,修复将包含在即将发布的 2.1 版本中。(我希望 2.1 会在下周某个时间发布 - 但没有承诺......)
如果您赶时间,可以从Log4j2 GIT 存储库查看代码并在本地构建2.1-SNAPSHOT。
| 归档时间: |
|
| 查看次数: |
1851 次 |
| 最近记录: |