- 1
- 0
- 约2.58千字
- 约 3页
- 2026-04-24 发布于北京
- 举报
《067_从kafka获取的日志如何写入ES建立索引?》
你打印日志的时候,如果使用的是asynclogger的话,打印的日志会交给里面的disruptor
无锁化的高性能高并发内存队列,入队,直接就可以返回了,速度绝对是高性能的,无锁化
没有锁争用,高并发
disruptor有线程,线程会从自己的无锁化内存队列数据结构里取出来对应的
日志,回调他的一个handler处理函数,onEvent函数,会调用log4j2的appender去进行
实际的日志打印
具体的logger有哪些append要被调用,appender如何执行,可能是同步的,也可能是异
步的,具体就看appender自己是如何实现的了,一个logger对应多个appender,每个
appender都会被遍历调用执行
appender底层,说实话,一般是先用layout对日志格式进行调整,格式化
基于底层的机制进行flush,彻底的的日志刷到底层的介质去,文件(往磁盘文件去写),
网络(系统),底层都是基于outputstream,输出流,输出流可能是针对文件的,也可
能是针对网络的,把数据通过输出流写出去,二进制字节的流数据
底
原创力文档

文档评论(0)