首页 > 解决方案 > Spring-Boot中的LOG配置

问题描述

我已将 logback.xml 配置为波纹管,但在运行时出现错误,请任何人帮我弄清楚。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_DIR" value="D:\\FlightReserVAtionProject\\LOG"> 

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_DIR}\\${FILE_PREFIX}.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>$%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${LOG_DIR}\\archived\\${FILE_PREFIX}.$%d{yyyy-MM-dd
            HH:mm:ss}.%i.log</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"></timeBasedFileNamingAndTriggeringPolicy>
        <maxFileSize>2MB</maxFileSize>
    </rollingPolicy>

</appender>
</configuration>

错误是

java.lang.IllegalStateException: Logback configuration error detected: ERROR in ch.qos.logback.core.joran.spi.Interpreter@18:17 - no applicable action for[maxFileSize], current ElementPath  is [[configuration][appender[rollingPolicy][maxFileSize]]ERROR in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@20f5281c - maxFileSize property is mandatory.

标签: javaspringspring-boot

解决方案


如下更改您的配置。maxFileSize是 tag 的子属性 timeBasedFileNamingAndTriggeringPolicy

<timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>

推荐阅读