Добавьте дату и время в имя файла журнала - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть несколько журналов, которые я хочу записать в файл в микросервисе с весенней загрузкой.

В моем "application.yml" есть строка ниже, которая работает нормально.Но я также хочу добавить дату и время к имени файла.Как мне это сделать?

logging:
  file: logs/${spring.application.name}.log

В идеале, я хочу, чтобы имя файла было примерно таким:

logs/spring-boot-application_YYYY_MM_DD_HH_MM

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Если вы используете spring-boot, вы можете легко указать его в application.yml или application.properties и настроить logback xml для включения Rolling File Appender как:

spring:
logging:
  file: logs/dev_app.log
  pattern:
    console: "%d %-5level %logger : %msg%n"
    file: "%d %-5level [%thread] %logger : %msg%n"
  level:
    org.springframework.web: DEBUG
    guru.springframework.controllers: DEBUG
    org.hibernate: DEBUG

и укажите скользящую по времени политику для файла в:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/base.xml"/>

  <appender name="ROLLIN" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

        <!-- daily rollover -->
        <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>

    </rollingPolicy>
  </appender>

  <root level="INFO">
    <appender-ref ref="ROLLIN" />
  </root>

  <logger name="org.springframework.web" level="INFO"/>
</configuration>

Doc Официальный Spring Doc

0 голосов
/ 26 сентября 2019

Здесь был дан ответ на похожий вопрос: Как включить дату в имя файла журнала с помощью Spring Boot / slf4j?

В основном, если вы хотите больше контроля над настройкой ведения журнала, вам следуетСоздайте свой собственный logback.xml в src / main / resources и настройте формат имен, подобный следующему:

<FileNamePattern>LogFile.%d{yyyy-MM-dd}.log</FileNamePattern>
...