logback как сохранить файл журнала в папке с именем текущей даты - PullRequest
0 голосов
/ 25 июня 2018

после logback.xml создаст файл журнала, но я хочу каждый день создавать новую папку с тем же именем, что и текущая дата, и сохранять новый файл журнала

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <property name="DEV_HOME" value="/home/gaurav/flinklogs" />


   <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DEV_HOME}/logFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
      <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

      <!-- keep 30 days' worth of history capped at 3GB total size -->
      <maxHistory>30</maxHistory>
      <totalSizeCap>3GB</totalSizeCap>

    </rollingPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender> 

  <root level="ERROR">
    <appender-ref ref="FILE" />
  </root>

</configuration>

Я также попытался следовать имени файла, но он не работает

<fileNamePattern>${DEV_HOME}/%d{yyyy/MM, aux}/logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

это файл журнала создания в home / gaurav / flinklogs / logFile.log

1 Ответ

0 голосов
/ 25 июня 2018

Если указаны и <file>, и <fileNamePattern>, текущий файл журнала расположен так, как указано в <file>, а файлы архивных журналов расположены так, как указано в <fileNamePattern> - см. документацию .

Вам необходимо удалить <file>${DEV_HOME}/logFile.log</file>, а затем изменить <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern> на <fileNamePattern>${DEV_HOME}/%d{yyyy/MM, aux}/logFile.%d{yyyy-MM-dd}.log</fileNamePattern>, и оно должно работать так, как вы хотите.

...