spring - 如何在 Spring Boot 的 application.yml 中配置滚动文件附加程序

标签 spring logging spring-boot yaml

是否可以在 Spring Boot 应用程序的 application.yml 中配置每日文件附加程序?

即文件名模式:myfile.%d{yyyy-MM-dd-HH-mm-ss}.log

我的 application.yml 文件中有如下配置。

logging:

   file: /mypath/myfile.log

   level:
     mypackage: INFO

谢谢

最佳答案

default file appender基于大小 (10MB)。

在您的 logback.xml 中只需配置 TimeBasedRollingPolicy,如 here 所述

即类似:

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

关于spring - 如何在 Spring Boot 的 application.yml 中配置滚动文件附加程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29918323/

相关文章:

java - Spring 启动 JPA : How do I connect multiple databases?

java - 无论如何@Inject/@Autowire 一个内部类到一个外部类?

java - sql 文件中的 ScriptStatementFailedException

java - Kafka Consumer输出过多的DEBUG语句到console(eclipse)

java - com.fasterxml.jackson.databind.exc.InvalidDefinitionException : Cannot construct instance of `javax.xml.bind.JAXBElement`

java - Spring框架中的应用程序上下文和bean工厂是什么

ios - 调试时是否可以查看iOS应用程序沙箱中的文件内容?

eclipse - 使用Gradle运行应用程序时,从日志消息跳至Eclipse中的行

java - 我如何向 :action form 添加数据

java - 解压并重新压缩 jar 后为 "no main manifest attribute"