AsyncAppender
2016-04-12 17:40:32 0 举报
登录查看完整内容
AsyncAppender是Log4j2中的一个日志追加器,它实现了异步日志追加。在高并发场景下,使用AsyncAppender可以提高日志写入的性能和吞吐量。与传统的FileAppender相比,AsyncAppender不会阻塞线程,而是将日志事件放入一个内部缓冲区,然后通过一个单独的线程异步地将缓冲区中的日志事件写入目标文件或输出流。这样可以避免因日志写入导致的线程阻塞,提高应用程序的响应速度。需要注意的是,AsyncAppender不支持日志事件的实时刷新,因此在配置时需要设置适当的缓冲区大小和刷新间隔。
作者其他创作
大纲/内容
Class:AppenderSkeleton
+ layout:Layout ----信息模板+ name:String ---appender Name+ threshold:Priority ---数据等级+ errorHandler:ErrorHandler ---错误处理+ headFilter:Filter ---头拦截器+ tailFilter:Filter ---尾拦截器
+ doAppend(LoggingEvent):void ---输出日志(synchronized)+ append(LoggingEvent):void ----输出日志(abstract)+ activateOptions():void ----初始化+ addFilter(Filter) ----增加新拦截器+ clearFilters():void ---清空拦截器+ finalize():void ---销毁关闭+ isAsSevereAsThreshold():boolean ---判断消息等级
interface:Appender
+ doAppend(LoggingEvent):void
AsyncAppender
+ buffer:List = new ArrayList()+ discardMap:Map=new HashMap()+ bufferSize:int = 128 ---缓存个数+ appenders:AppenderAttachableImpl ---实际输出appender+ dispatcher:Thread ---内部执行线程+ locationInfo:boolean=false ---是否定位信息+ blocking:boolean=true ---缓存区满的时候是否阻塞
+ append(LoggingEvent):void ----输出日志+ close():void ---关闭
interface:OptionHandler
+ activateOptions():void
0 条评论
回复 删除
下一页