log4j的执行流程

当调用了记录日志的方法后,比如调用log()方法
1.检测threshold的设置
每一个logger都有一个对repository对象的引用,这个对象是唯一的,每个logger都指向了同一个repository。如果该属性设置的级别比调用的级别高,那么就会终止它的执行。
2.对logger的等级过滤
调用的记录日志的方法都有自己对应的级别,logger设置的级别和调用的级别进行比较,如果调用的级别低于设置的级别,那就会终止它的执行
3.创建一个LoggingEvent对象
里面包括了调用的级别等信息
4.调用的appender
log4j调用对应设置的appender,记录到指定的设备上面去。调用doAppend()方法。另外还有一个AppenderSkeleton抽象类,它实现了org.apache.log4j.Appender接口的doAppend方法。它保证了线程安全。AppenderSkeleton的doAppend方法只是调用filters。
5.格式化LoggingEvent
大多数情况下(并非全部),appender会调用代理去调用布局,这些布局会格式化LoggingEvent
6.输出消息。然后会回到第四步。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值