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>
相关推荐
字节王德发7 天前
什么是logback FixedWindowRollingPolicy的文件滚动策略?
java·数据库·logback
zru_96027 天前
springboot中logback日志配置
java·spring boot·logback
Foyo Designer9 天前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的日志管理:Logback 的集成
java·开发语言·spring boot·后端·spring·logback
₁ ₀ ₂ ₄15 天前
Logback 日志滚动策略配置指南:从基础到进阶
java·spring boot·logback
爱的叹息17 天前
java自带日志系统介绍(JUL)以及和Log4j 2、Logback、SLF4J不同日志工具的对比
java·log4j·logback
Kale又菜又爱玩1 个月前
Logback:高性能日志框架完全指南
java·springboot·logback
LUCIAZZZ1 个月前
通过logback日志简单实现链路追踪
java·spring boot·后端·计算机网络·spring·logback
Warren981 个月前
使用SLF4J + Logback进行日志记录:
java·开发语言·前端·javascript·笔记·intellij-idea·logback
handsomestWei1 个月前
logback日志输出配置范例
logback·java开发·wutool·日志输出配置
m0_748251721 个月前
springboot使用logback自定义日志
java·spring boot·logback