Spring启动应用程序中的日志模式

时间:2018-01-17 11:35:54

标签: spring-boot logging

如何将日志文件模式设置为server.log.2017-12-22.gz

截至目前,在我的application.properties文件中,我已将日志记录模式设置为:

logging.pattern.file= "%d{yyyy-MM-dd } [%thread] %-5level %logger{36} - %msg%n"

logging.file=/var/opt/VS_Logs/server.log

但我需要以下列格式存储文件:server.log.2017-12-22.gz

1 个答案:

答案 0 :(得分:1)

只要您想要自定义滚动和触发策略,就不能再依赖Spring引导的日志记录配置,而必须使用特定于供应商的日志记录配置。以下是使用Logback和TimeBasedRollingPolicy

的示例
<configuration>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>server.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>server.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <maxHistory>30</maxHistory>
            <totalSizeCap>3GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd } [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="FILE" />
    </root>
</configuration>

当您使用.gz扩展名时,Logback会自动对其进行gzip。如果将此文件保存为logback.xml并将其放在类路径上,Spring引导将自动检测到它,否则,您可以使用logging.config属性:

logging.config=classpath:logback.xml