mem*_*und 5 java tomcat log4j log4j2
<?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>
Run Code Online (Sandbox Code Playgroud)
我想直接在写入的日志文件中使用当前日期。但上面配置的结果是application-%{yyyy-MM-dd}
文件名。
为什么日期占位符未解析?顺便说一句:午夜重命名的文件正确重命名为application-2016-03-13-rolled.log
. 为什么它在那里起作用,但在当前日志文件中不起作用?
我正在跑步 tomcat 8
,java 8
如果这很重要的话。
小智 11
删除文件名属性。这对我有用。(从以下位置获得解决方案: 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>
Run Code Online (Sandbox Code Playgroud)
这个有效(无论为什么):
<property name="filePattern">${date:yyyy-MM-dd}</property>
Run Code Online (Sandbox Code Playgroud)
我不知道为什么占位符未解析,但这是我的工作配置:
<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>
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20452 次 |
最近记录: |