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>
相关推荐
是老余9 天前
Logback 日志介绍及与Spring Boot 的整合 【保姆级教程】
spring boot·后端·logback
蓝染-惣右介11 天前
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
单元测试·log4j·logback
MinggeQingchun15 天前
Java - SpringBoot之logback设置日期分割并设置指定时间自动清除,Linux启动运行
logback
( •̀∀•́ )92020 天前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
一路奔跑131424 天前
logback日志脱敏后异步写入文件
logback·异步·日志脱敏
white camel1 个月前
Java从入门到架构师_日志框架系列
java·logback·log4j2·日志·slf4j
wyh1061151 个月前
01 springboot-整合日志(logback-config.xml)
xml·spring boot·logback
小萌新上大分1 个月前
logback日志导入使用
java·开发语言·logback·日志·javaee·log·logback在测试中使用
hgSuper1 个月前
【Java】java | logback日志配置 | 按包配置级别
java·logback
M00SE1 个月前
log4j 和 logback 冲突解决
java·log4j·logback