问题
服务器启动以后每隔30秒就会报
java
|-INFO in ReconfigureOnChangeTask(born:1729064468396) - Empty watch file list. Disabling
该信息是由于设置了当配置文件变化时重新加载,所以每当达到扫描时间的时候就会检查配置文件是否错误。但是由于一般配置文件都放在了JAR包中,而扫描的时候无法扫描JAR包内,因此会提示没有可以检查的文件,所以每隔一段时间就输出一次。
解决方法
- 将扫描关闭,如下
把 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>