在 osx 下的独立 java 应用程序中使用 log4j 2.0 时,log4j2.xml 中的日期变量无法解析

问题描述 投票:0回答:1

我在我的独立 java 应用程序中使用 log4j 2。 但是,我在 log4j2.xml 配置中的

date
变量上遇到了困难。还没解决。

这是我的 log4j2.xml 配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <File name="File" fileName="logs/Server-${date}.log">
            <PatternLayout pattern="%d [%t] %-5level %logger{36} - %msg%n"/>
        </File>
    </appenders>
    <loggers>
        <root level="all">
            <appender-ref ref="Console"/>
            <appender-ref ref="File"/>
        </root>
    </loggers>
</configuration>

但是,创建的日志文件是:

Server-${date}.log

我的应用程序在 OSX 下运行,不确定这是原因。

谢谢大家。

java variables date configuration-files log4j2
1个回答
4
投票

来自 Log4j2 配置页面中的属性替换章节

日期:插入当前日期和/或时间使用指定的格式

因此您只需为您的属性添加日期格式即可。

... <File name="File" fileName="logs/Server-${date:yyyy-MM-dd}.log"> ...

您的文件名称为 Server-2014-05-06.log

您可以从 Java Api 访问 SimpleDateFormat 类来查看所有格式设置的可能性。

© www.soinside.com 2019 - 2024. All rights reserved.