Log4j2日志处理机制及Appender执行流程.pdfVIP

  • 2
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-06-02 发布于北京
  • 举报

《053_log4j2日志框架的源码剖析(4)》

你打印日志的时候,如果使用的是asynclogger的话,打印的日志会交给里面的disruptor

无锁化的高性能高并发内存队列,入队,直接就可以返回了,速度绝对是高性能的,无锁化

没有锁争用,高并发

disruptor有线程,线程会从自己的无锁化内存队列数据结构里取出来对应的

日志,回调他的一个handler处理函数,onEvent函数,会调用log4j2的appender去进行

实际的日志打印

具体的logger有哪些append要被调用,appender如何执行,可能是同步的,也可能是异

步的,具体就看appender自己是如何实现的了,一个logger对应多个appender,每个

appender都会被遍历调用执行

appender底层,说实话,一般是先用layout对日志格式进行调整,格式化

基于底层的机制进行flush,彻底的的日志刷到底层的介质去,文件(往磁盘文件去写),

网络(系统),底层都是基于outputstream,输出流,输出流可能是针对文件的,也可

能是针对网络的,把数据通过输出流写出去,二进制字节的流数据

底层输出流再进行一下flush就可以了

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档