需要在Log4j2.7中使用文件名中的日期模式

时间:2017-01-10 18:53:56

标签: logging log4j2

我需要当前日志而不是名称。所以我需要" vproxy_access.2016-01-10"而不是" vproxy_access"。

<RollingRandomAccessFile name="ACCESS_LOG" 
             fileName="${sys:log.dir}vproxy_access.%d{${sys:log.dateformat}}"
             filePattern="${sys:log.dir}vproxy_access.%d{${sys:log.dateformat}}"
             append="true" 
             immediateFlush="false">

&#34; filePattern&#34;旋转日志时正确应用,但在启动Tomcat时不适用于新创建的日志。

3 个答案:

答案 0 :(得分:1)

这将在Log4j 2.8中提供。

请参阅https://issues.apache.org/jira/browse/LOG4J2-1101

答案 1 :(得分:1)

我今天遇到了类似的问题,我找到了this解决方案,了解如何将当前日期附加到新创建的日志文件的文件名中。

链接问题的已接受答案给出了以下配置示例:

<RollingFile name="RollingFile" fileName="${log-path}/filename.log" 
filePattern="${log-path}/filename-%d{yyyy-MM-dd}-%i.log" >
...
...
</RollingFile>

这对我有用,我希望它能帮助你(或其他有同样问题的人)。

答案 2 :(得分:0)

我想我可以帮助你:

fileName="${sys:log.dir}vproxy_access.${date:${sys:log.dateformat}}"