如何在log4j2 fileName中使用当前日期模式?

ecbunoof  于 2022-11-06  发布在  其他
关注(0)|答案(4)|浏览(144)
<?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 8java 8,如果这很重要的话。

41ik7eoe

41ik7eoe1#

删除文件名属性。它对我很有效。(从以下网址获得解决方案:https://issues.apache.org/jira/browse/LOG4J2-1859)以下是我的工作配置

<RollingFile name="File" filePattern="${basePath}/api_test_execution_log_%d{yyyy-MM-dd}_%d{HH-mm-ss}_%i.log" immediateFlush="true">
       <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>

       <Policies>
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            <SizeBasedTriggeringPolicy size="32 MB" />
            <OnStartupTriggeringPolicy/>
       </Policies>
    </RollingFile>
6rvt4ljy

6rvt4ljy2#

这一个工作(无论如何):

<property name="filePattern">${date:yyyy-MM-dd}</property>
7gs2gvoe

7gs2gvoe3#

我不知道为什么占位符没有被解析,但这里是我的工作配置:

<Appenders>
    <RollingFile name="Permament"
                 fileName="E:/workspace/myproject/logs/ergo.log"
                 filePattern="E:/workspace/myproject/logs/ergo.%d{yyyy-MM-dd.HH:mm}.log"
                 immediateFlush="true">
        <PatternLayout pattern="%d{HH:mm:ss.SSS} %5p{length=5} - %c{1} %m %ex%n"/>
        <Policies>
            <TimeBasedTriggeringPolicy/>
        </Policies>
    </RollingFile>
...
t5zmwmid

t5zmwmid4#

对于使用Log4j2版本2.6.2及更低版本的用户:
fileName实际上是一个在应用程序运行时从不更改的文件名。如果不希望出现此行为,请升级到Log4j 2的最新版本,并且不要指定fileName属性。
https://issues.apache.org/jira/browse/LOG4J2-1859开始

相关问题