<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Properties>
<property name="filePattern">%d{yyyy-MM-dd}</property>
</Properties>
<Appenders>
<RollingFile name="TEST"
fileName="application-${filePattern}.log"
filePattern="application-${filePattern}-rolled.log">
<Policies>
<TimeBasedTriggeringPolicy modulate="true"/>
</Policies>
</RollingFile>
</Appenders>
...
</Configuration>
我想直接在日志文件中使用当前日期,但是上面配置的结果是文件名为application-%{yyyy-MM-dd}
。
为什么不解析日期占位符?顺便问一下:在午夜重命名的文件被正确地重命名为application-2016-03-13-rolled.log
。为什么它在那里工作,而在当前日志文件中不工作?
我运行的是tomcat 8
和java 8
,如果这很重要的话。
4条答案
按热度按时间41ik7eoe1#
删除文件名属性。它对我很有效。(从以下网址获得解决方案:https://issues.apache.org/jira/browse/LOG4J2-1859)以下是我的工作配置
6rvt4ljy2#
这一个工作(无论如何):
7gs2gvoe3#
我不知道为什么占位符没有被解析,但这里是我的工作配置:
t5zmwmid4#
对于使用Log4j2版本2.6.2及更低版本的用户:
fileName实际上是一个在应用程序运行时从不更改的文件名。如果不希望出现此行为,请升级到Log4j 2的最新版本,并且不要指定fileName属性。
从https://issues.apache.org/jira/browse/LOG4J2-1859开始