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

Art*_*hur 5 java variables date configuration-files log4j2

我在我的独立 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>
Run Code Online (Sandbox Code Playgroud)

但是,创建的日志文件是:Server-${date}.log

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

多谢你们。

小智 4

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

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

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

... <File name="File" fileName="logs/Server-${date:yyyy-MM-dd}.log"> ...
Run Code Online (Sandbox Code Playgroud)

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

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