使用Logback的RollingFileAppender时,是否可以使用默认的Springboot“ / actuator / logfile”端点?

时间:2018-09-03 13:25:03

标签: java spring-boot logback spring-boot-actuator rollingfileappender

我正在使用的Springboot REST服务器正在使用Logback的RollingFileAppender和SizeAndTimeBasedRollingPolicy记录文件。

我希望spring的执行器的“ logfile”端点从最新文件中返回日志,但是文件名会根据给定的文件名模式进行更改。

除了使用application.properties中给出的文件或路径外,日志文件执行器是否有访问日志文件的方法?

2 个答案:

答案 0 :(得分:3)

在“文件”追加程序配置部分的登录配置中,您必须具有类似以下内容:

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">   
    <file>logs/logfile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <!-- daily rollover -->
        <fileNamePattern>logs/logfile.%d{yyyy-MM-dd}_%i.log</fileNamePattern>

        <!-- keep 30 days' worth of history capped at 2GB total size -->
        <maxHistory>30</maxHistory>
        <maxFileSize>1GB</maxFileSize>
        <totalSizeCap>2GB</totalSizeCap>

    </rollingPolicy>
</appender>

您最近的日志文件将是logfile.log,您可以在app.properties中对其进行定义,例如:

endpoints.logfile.external-file=logs/logfile.log

,由于大小限制而回滚的所有日志文件将根据模式进行重命名。

答案 1 :(得分:0)

根据org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration.LogFileCondition

management:
  endpoints:
    web:
      exposure:
        include: logfile
  endpoint:
    logfile:
      external-file: ${user.home}/temp/app.log