Приложение RollingFile не использует текущую дату - PullRequest
0 голосов
/ 30 августа 2018

Приложение Rolling File Appender не помещает самые последние записи журнала в файл текущей даты.

В файле log4j2.xml у меня есть приложение RollingFile, которое выглядит следующим образом

    <RollingFile
    name="viewAppender"
    filePattern="/data/view/view%d{yyyy-MM-dd}.log">

    <PatternLayout><pattern>%m%n</pattern></PatternLayout>

    <Policies>
      <TimeBasedTriggeringPolicy />
  </Policies>
</RollingFile>

Когда идет новая запись в журнале, она не собирается в текущую дату Вот файл журнала. Это показывает, что самая последняя запись была от 30 августа, но имя файла журнала было за 28 августа. Он должен был создать новый файл журнала с filePattern view2018-08-30.log

-rw-r--r--    1 root     root           230 Aug 30 10:36 view2018-08-28.log

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете использовать ниже log4j2.xml, который является рабочим и создает новый файл журнала каждый день

<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60">
<Appenders>
<Console name="console-appender" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - 
 %msg%n"/>
</Console>
<RollingFile name="rollingFile-appender"
  fileName="${sys:user.home}/log/apache-tomcat/file.log"
  filePattern="${sys:user.home}/log/apache-tomcat/file-%d{yyyy-MM-dd}.log">
  <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - 
   %msg%n"/>
<Policies>
  <TimeBasedTriggeringPolicy/>
  <SizeBasedTriggeringPolicy size="50MB"/>
  </Policies>
  <DefaultRolloverStrategy max="30"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
  <AppenderRef ref="rollingFile-appender"/>
  <AppenderRef ref="console-appender"/>
</Root>
</Loggers>
</Configuration>
...