如何将日志文件模式设置为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
答案 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