我正在使用log4j2(2.0.2)用10个日志文件在tomcat7.0.23中配置log4j2附录。
我在filePattern中使用${sys:catalina.base},它不工作,日志文件被放在tomcat/bin/${sys:catalina.base}/目录中。
有趣的是,第一个日志文件(没有编号)是在tomcat/ log下创建的,这意味着它成功地将文件名属性映射到一个真正的路径。
当我用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没有得到正确的解释。
如何克服这一问题而不必静态地指定日志目录?
谢谢你的帮助
发布于 2014-10-17 12:51:38
您所描述的非常类似于在LOG4J2-829中报告的问题。这是在2.0RC2版本中引入的一个bug。它最近在主版中得到了修复,修复程序将包含在即将发布的2.1版中。(我希望2.1将在下周某个时候发布-但没有任何承诺.)
如果您很匆忙,可以在本地查看Log4j2 GIT存储库和构建 (2.1-快照)中的代码。
https://stackoverflow.com/questions/26284804
复制相似问题