Logback

问题

服务器启动以后每隔30秒就会报

java 复制代码
|-INFO in ReconfigureOnChangeTask(born:1729064468396) - Empty watch file list. Disabling 

该信息是由于设置了当配置文件变化时重新加载,所以每当达到扫描时间的时候就会检查配置文件是否错误。但是由于一般配置文件都放在了JAR包中,而扫描的时候无法扫描JAR包内,因此会提示没有可以检查的文件,所以每隔一段时间就输出一次。

解决方法

  1. 将扫描关闭,如下

    把 scan="true" 改为 scan="false" 即可

附一下我的 Logback

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志输出的配置 -->
<configuration debug="false" scan="false" scanPeriod="30 seconds">
    <!-- 日志输出的级别 -->
    <springProperty scope="context" name="logLevel" source="log.level"/>
    <!-- 日志输出的路径 -->
    <springProperty scope="context" name="logPath" source="log.path"/>
    <!-- 日志输出的文件名称 -->
    <springProperty scope="context" name="logFile" source="log.fileName"/>


    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </layout>
    </appender>


    <!--  日志输出文件  -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${logPath}/${logFile}.log</File>
        <encoder>
            <pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 添加.gz 历史日志会启用压缩 大大缩小日志文件所占空间 -->
            <fileNamePattern>${logPath}/${logFile}.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <maxHistory>15</maxHistory><!--  保留15天日志 -->
        </rollingPolicy>
    </appender>


    <!--  报错信息输出  -->
    <appender name="error_log_Appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${logPath}/${logFile}-error.log</File>
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/${logFile}-error.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
        <!--discriminator鉴别器,根据taskId这个key对应的value鉴别日志事件,然后委托给具体appender写日志-->
        <discriminator>
            <key>businessName</key>
            <defaultValue>default</defaultValue>
        </discriminator>
        <sift>
            <appender name="${businessName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <File>${logPath}/${logFile}-${businessName}.log</File>
                <append>true</append>
                <encoder charset="UTF-8">
                    <pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
                </encoder>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <fileNamePattern>${logPath}/${logFile}-${businessName}.%d{yyyy-MM-dd}.gz</fileNamePattern>
                </rollingPolicy>
            </appender>
        </sift>
    </appender>

    <logger name="business_log" level="INFO">
        <appender-ref ref="SIFT"/>
    </logger>

    <logger name="error_log" additivity="true" level="WARN">
        <appender-ref ref="error_log_Appender"/>
    </logger>

    <!-- 日志输出级别 -->
    <root level="${logLevel}">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
</configuration>
相关推荐
魔道不误砍柴功6 天前
Spring Boot日志系统详解:Logback与SLF4J的默认集成
spring boot·后端·logback
神州永泰14 天前
Java logback框架日志输出中文乱码的解决方案(windows)
java·windows·logback
遥不可及~~斌15 天前
Spring Boot 项目日志系统全攻略:Logback、Log4j2、Log4j与SLF4J整合指南
spring boot·log4j·logback
IT瘾君19 天前
Java基础:Logback日志框架
java·开发语言·logback
wisdom_zhe21 天前
Spring Boot 日志 配置 SLF4J 和 Logback
java·spring boot·logback
我命由我1234522 天前
Spring Boot 自定义日志打印(日志级别、logback-spring.xml 文件、自定义日志打印解读)
java·开发语言·jvm·spring boot·spring·java-ee·logback
字节王德发1 个月前
什么是logback FixedWindowRollingPolicy的文件滚动策略?
java·数据库·logback
zru_96021 个月前
springboot中logback日志配置
java·spring boot·logback
Foyo Designer1 个月前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的日志管理:Logback 的集成
java·开发语言·spring boot·后端·spring·logback
₁ ₀ ₂ ₄1 个月前
Logback 日志滚动策略配置指南:从基础到进阶
java·spring boot·logback