2016-03-14 1 views
0
<?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> 

Я бы хотел использовать текущую дату непосредственно в записанном файле журнала. Но результатом вышеприведенной конфигурации является application-%{yyyy-MM-dd} как имя файла.Как использовать текущий шаблон даты в log4j2 fileName?

Почему дата не заменена? Кстати: переименованный файл в полночь правильно переименован как application-2016-03-13-rolled.log. Почему он работает там, но не в текущем файле журнала?

Я бегу tomcat 8 и java 8, если это имеет значение.

ответ

0

Я не знаю, почему заполнитель не будет решена, но вот моя рабочая конфигурация:

<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>

0

Это один работал (whyever):

<property name="filePattern">${date:yyyy-MM-dd}</property> 
Смежные вопросы