【发布时间】:2018-04-07 20:09:06
【问题描述】:
我有一个在 Tomcat 服务器上运行的记录器应用程序。我在 Spring Boot 框架上使用 logback。 下面是我的 logback.xml 文件
<configuration debug="true">
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/audit/audit.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>/var/log/audit/audit_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 50MB -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<append>true</append>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<logger name="com.logger.rest">
<appender-ref ref="FILE" />
</logger>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
我的应用程序正确记录到 /var/log/audit/audit.log。但有时我需要删除日志文件。删除后,我注意到调用记录器应用程序时没有创建新的 audit.log 文件。只有当我重新启动记录器应用程序时才会生成新的日志文件。
有什么方法可以绕过应用重启,以便 logback 自动创建一个新的 audit.log 文件(在创建日志记录信息时)以防它被删除
【问题讨论】:
标签: java tomcat spring-boot logging logback