最实用的logback讲解(2)—appender

本文详细介绍了logback的appender配置,包括RollingFileAppender的各种滚动策略如SizeAndTimeBasedRollingPolicy、TimeBasedRollingPolicy、FixedWindowRollingPolicy,以及triggeringPolicy和filter的使用。RollingFileAppender允许根据时间、文件大小进行滚动,并控制归档文件的数量。ConsoleAppender和FileAppender则分别用于将日志输出到控制台和文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       上一节最实用的logback讲解(1)介绍了configuration和logger的含义,今天介绍另一个重要的属性appender,它是configuration的子节点,是控制输出日志格式和地方的。官网文档地址

       appender有两个必要属性name和class,name指定appender名称,class指定appender的全限定名。另一个属性encoder:负责两件事,一是把日志信息转换成字节数组,二是把字节数组写入到输出流。目前PatternLayoutEncoder 是唯一有用的且默认的encoder ,有一个节点,用来设置日志的输入格式,使用“%”加“转换符”方式。
例如:

 <encoder>
      <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX} [%thread] %-5level [%logger{15}:%line] - %msg%n</pattern>
      <charset>UTF-8</charset>
 </encoder>

%d表示日期,%thread表示线程名,%-5level表示级别从左显示5个字符宽度,%msg是日志消息,%n是换行符,如果要输出“%”则必须用“\”对“%”进行转义。

下面介绍几种常用的appender。

2.1 RollingFileAppender

滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。这个是最常用的!
有以下子节点:
<file>:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。
filter: 表示过滤器,用法稍后讲解。
<append>:如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件,默认是true。
<encoder>:对记录日志进行格式化。
<rollingPolicy>:当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名。
<triggeringPolicy >: 告知 RollingFileAppender 何时激活滚动。
<prudent>:当为true时,不支持FixedWindowRollingPolicy。支持TimeBasedRollingPolicy,但是有两个限制,1.不支持也不允许文件压缩,2.不能设置file属性,必须留空

2.1. 1 SizeAndTimeBasedRollingPolicy根据时间和文件大小的滚动策略

最常用的滚动策略,先根据时间再根据文件大小来滚动生成文件
例:

 	<property name="LOG_HOME" value="d://log2" />
    <appen
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值