logback不生成第二天的日志文件问题解决

编程

项目本来的logback配置文件

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->

<!-- <property name="LOG_HOME" value="oradata/wbxtpc/logs"/>-->

<property name="LOG_HOME" value="/home/wbxt/wbxtpc/logs"/>

<!-- Console 输出设置 -->

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

<encoder>

<!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->

<pattern>%d [%-10thread] %-5level %logger{80} - %msg%n</pattern>

<!--<charset>utf8</charset>-->

</encoder>

</appender>

<!-- 按照每天生成日志文件 info-->

<appender name="DAYINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--日志文件输出的文件名-->

<FileNamePattern>${LOG_HOME}/hf_info.log.%d{yyyy-MM-dd}.log</FileNamePattern>

<!--日志文件保留天数-->

<MaxHistory>30</MaxHistory>

</rollingPolicy>

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>info</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

</encoder>

<!--日志文件最大的大小-->

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<MaxFileSize>10MB</MaxFileSize>

</triggeringPolicy>

</appender>

<!-- 按照每天生成日志文件 error-->

<appender name="DAYERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--日志文件输出的文件名-->

<FileNamePattern>${LOG_HOME}/hf_error.log.%d{yyyy-MM-dd}.log</FileNamePattern>

<!--日志文件保留天数-->

<MaxHistory>30</MaxHistory>

</rollingPolicy>

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>error</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

</encoder>

<!--日志文件最大的大小-->

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<MaxFileSize>10MB</MaxFileSize>

</triggeringPolicy>

</appender>

<!-- 日志输出级别 -->

<root level="INFO">

<appender-ref ref="STDOUT"/>

<appender-ref ref="DAYERROR"/>

<appender-ref ref="DAYINFO"/>

</root>

</configuration>

修改后的logback.xml

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->

<!-- <property name="LOG_HOME" value="oradata/wbxtpc/logs"/>-->

<property name="LOG_HOME" value="/home/wbxt/wbxtpc/logs"/>

<!-- Console 输出设置 -->

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

<encoder>

<!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->

<pattern>%d [%-10thread] %-5level %logger{80} - %msg%n</pattern>

<!--<charset>utf8</charset>-->

</encoder>

</appender>

<!-- 按照每天生成日志文件 info-->

<appender name="DAYINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">

<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

<!--日志文件输出的文件名-->

<FileNamePattern>${LOG_HOME}/hf_info.log.%d{yyyy-MM-dd}.log</FileNamePattern>

<!--日志文件保留天数-->

<MaxHistory>30</MaxHistory>

</rollingPolicy>

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>info</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

</encoder>

<!--日志文件最大的大小-->

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<MaxFileSize>10MB</MaxFileSize>

</triggeringPolicy>

</appender>

<!-- 按照每天生成日志文件 error-->

<appender name="DAYERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--日志文件输出的文件名-->

<FileNamePattern>${LOG_HOME}/hf_error.log.%d{yyyy-MM-dd}.log</FileNamePattern>

<!--日志文件保留天数-->

<MaxHistory>30</MaxHistory>

</rollingPolicy>

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>error</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

</encoder>

<!--日志文件最大的大小-->

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<MaxFileSize>10MB</MaxFileSize>

</triggeringPolicy>

</appender>

<!-- 日志输出级别 -->

<root level="INFO">

<appender-ref ref="STDOUT"/>

<appender-ref ref="DAYERROR"/>

<appender-ref ref="DAYINFO"/>

</root>

</configuration>

此次修改,主要是将ch.qos.logback.core.rolling.TimeBasedRollingPolicy调整为ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy。

经测试,第二天日志有正常生成了!

以上是 logback不生成第二天的日志文件问题解决 的全部内容, 来源链接: utcz.com/z/511804.html

回到顶部