5

我在我的独立 java 应用程序中使用 log4j 2。但是,我正在努力处理 log4j2.xml 配置中的日期变量。它没有得到解决。

这是我的 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 下运行,不确定是不是这个原因。

多谢你们。

4

1 回答 1

4

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

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

因此,您只需向您的属性添加日期格式。

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

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

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

于 2014-05-06T07:31:26.240 回答