Logback 配置文件示例:控制台和文件日志记录
{""title":"Logback 配置文件示例:控制台和文件日志记录", "description":"本文提供了一个 Logback 配置文件示例,展示如何将日志信息输出到控制台和文件,并根据日志级别进行分类记录。配置文件包含了对日志级别、文件大小、滚动策略、过滤器的设置,以满足不同的日志记录需求。", "keywords":"Logback, 配置文件, 日志, 日志级别, 文件, 控制台, 滚动策略, 过滤器", "content":"
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<logger name=\"org.hibernate.SQL\" level=\"debug\"/>
<!--控制台输出 -->
<appender name=\"consoleLog\" class=\"ch.qos.logback.core.ConsoleAppender\">
<encoder class=\"ch.qos.logback.classic.encoder.PatternLayoutEncoder\">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}) - %highlight(%msg) %n</pattern>-->
<pattern>${log.pattern}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<!-- 这也是用来保存输出所有级别的日志 -->
<appender name=\"fileInfoLog\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\">
<!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender-->
<!-- 滚动策略,它根据时间来制定滚动策略.既负责滚动也负责触发滚动 -->
<rollingPolicy class=\"ch.qos.logback.core.rolling.TimeBasedRollingPolicy\">
<!-- 输出路径 -->
<fileNamePattern>${LOG_HOME}/info/${LOG_NAME}.%d{yyyy-MM-dd}.%i.out</fileNamePattern>
<!-- 可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件假设设置每个月滚动,且<maxHistory>是6,
则只保存最近6个月的文件,删除之前的旧文件。注意,删除旧文件是,那些为了归档而创建的目录也会被删除-->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
<maxHistory>${maxHistory}</maxHistory>
<!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份) -->
<timeBasedFileNamingAndTriggeringPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\">
<maxFileSize>${log.max.size}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout class=\"ch.qos.logback.classic.PatternLayout\">
<pattern>%date %level [%thread] %logger [%file:%line] -%msg%n</pattern>
</layout>
</appender>
<!-- 只用保存输出error级别的日志 -->
<appender name=\"fileErrorLog\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\">
<rollingPolicy class=\"ch.qos.logback.core.rolling.TimeBasedRollingPolicy\">
<fileNamePattern>${LOG_HOME}/error/${LOG_NAME}.%d{yyyy-MM-dd}.%i.out</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>${maxHistory}</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\">
<maxFileSize>${log.max.size}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout class=\"ch.qos.logback.classic.PatternLayout\">
<pattern>%date %level [%thread] %logger [%file:%line] -%msg%n</pattern>
</layout>
<!-- 下面为配置只输出error级别的日志 -->
<filter class=\"ch.qos.logback.classic.filter.LevelFilter\">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- root将级别为${log.root.level}及大于${log.root.level}的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console,其它同理 -->
<root level=\"${log.root.level}\">
<appender-ref ref=\"consoleLog\"/> <!-- 标识这个appender将会添加到这个logger -->
<appender-ref ref=\"fileInfoLog\"/>
<appender-ref ref=\"fileErrorLog\"/>
</root>
检查错误并修改,给出正确内容:There are no errors in the provided XML configuration.
原文地址: https://www.cveoy.top/t/topic/qmwt 著作权归作者所有。请勿转载和采集!