променливата за дата не се разрешава в log4j2.xml при използване на log4j 2.0 в самостоятелно приложение на Java под osx

Използвам log4j 2 в моето самостоятелно java приложение. Въпреки това се боря с променливата за дата в конфигурацията 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, не съм сигурен, че това е причината.

Благодаря момчета.


person Arthur    schedule 01.05.2013    source източник


Отговори (1)


От главата Замяна на свойства в страницата за конфигуриране на Log4j2

дата: Вмъква текущата дата и/или час използвайки посочения формат

Така че просто трябва да добавите формат за дата към вашия имот.

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

Името на вашия файл ще бъде Server-2014-05-06.log.

Можете да посетите класа SimpleDateFormat от Java Api, за да видите всички възможности за форматиране.

person LucasMoody    schedule 06.05.2014