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>
相关推荐
.柒宇.1 天前
ELK日志分析系统实战指南:Elasticsearch搭建与入门(8.18.8版本)
运维·elk·elasticsearch·logback·日志系统
hdsoft_huge2 天前
SpringBoot系列17:日志体系Logback配置,日志分割、脱敏、异常堆栈收集规范(生产级落地)
java·spring boot·logback
倒流时光三十年3 天前
Logback 系列(13):生产环境配置建议清单
logback
倒流时光三十年3 天前
Logback 系列(12):高级篇 · MDC 链路追踪
logback
倒流时光三十年4 天前
Logback 系列(3):三大核心组件 Logger / Appender / Encoder
java·开发语言·logback
倒流时光三十年4 天前
Logback 系列(7):常用 Appender(控制台 / 文件 / 滚动文件)
java·前端·logback
倒流时光三十年4 天前
Logback 系列(6):Pattern 布局语法速查
logback
我是唐青枫7 天前
Java SLF4J 实战指南:从日志门面到 Logback、MDC 和链路追踪
java·开发语言·logback
豆瓣鸡16 天前
整合Logback日志框架
logback
逆光的July1 个月前
Logback 学习笔记
笔记·学习·logback