Log4j: как ежедневно создавать файл журнала с заголовками, используя DailyRollingFileappender, даже если журналы не запущены - PullRequest
0 голосов
/ 01 ноября 2018

Как ежедневно создавать файл журнала с заголовками, используя DailyRollingFileappender, даже если журналы не запускаются из приложения.

Таким образом, как только файл будет свернут, файл предыдущих дней должен иметь только заголовки

1 Ответ

0 голосов
/ 01 ноября 2018

Log4j DailyRollingFileAppender не выведет пустой файл, если не было зарегистрировано. Из реализации:

/**
* This method differentiates DailyRollingFileAppender from its
* super class.
*
* <p>Before actually logging, this method will check whether it is
* time to do a rollover. If it is, it will schedule the next
* rollover time and then rollover.
* */
protected void subAppend(LoggingEvent event) {

Если вы можете перейти на log4j2, вы можете использовать Политика запуска по времени

TimeBasedTriggeringPolicy вызывает опрокидывание один раз на дату / время шаблон больше не применяется к активному файлу. Эта политика принимает Атрибут Интервал, который указывает, как часто ролловер происходят на основе шаблона времени и логического атрибута модуляции.

И ваша конфигурация должна быть такой: дальнейшее объяснение вы можете прочитать в здесь :

<RollingFile name="RollingFile">
  <FileName>C:/log/mylog.log</FileName>
  <FilePattern>C:/log/time-based-logs/%d{yyyy-MM-dd-hh-mm}.log.zip</FilePattern>
  <PatternLayout>
    <Pattern>%d{yyyy-MM-dd}.log.zip [%t] %-5level %logger{36} - %msg%n</Pattern>
  </PatternLayout>
  <Policies>
    <TimeBasedTriggeringPolicy interval="1" modulate="true" />
  </Policies>
  <DefaultRolloverStrategy max="5" />
</RollingFile>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...