log4j2异步Logger(详解)-创新互联

1 异步Logger的意义

成都创新互联专注于企业营销型网站建设、网站重做改版、治多网站定制设计、自适应品牌网站建设、H5建站商城网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为治多等各大城市提供网站开发制作服务。

之前的日志框架基本都实现了AsyncAppender,被证明对性能的提升作用非常明显。

在log4j2日志框架中,增加了对Logger的异步实现。那么这一步的解耦,意义何在呢?

log4j2异步Logger(详解)

如图,按我目前的理解:异步Logger是让业务逻辑把日志信息放入Disruptor队列后可以直接返回(无需等待“挂载的各个Appender”都取走数据)

优点:更高吞吐、调用log方法更低的延迟。

缺点:异常处理麻烦、 可变日志消息问题、更大的CPU开销、需要等待“最慢的Appender”消费完成。

异步Logger会使用Disruptor做高吞吐队列,异步Appender会使用ArrayBlockingQueue做队列。

异步Logger与异步Appender都可以设置“队列满了之后的策略”,我个人建议都设置为“按日志级别部分丢弃”。

2 启用

1,全局启用异步Logger方案一

JVM启动参数(boot.ini)加上“-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector”

2,全局启用异步Logger方案二

classpath中添加文件“log4j2.component.properties”,文件增加以下内容:

“Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector”

3,手工指定部分Logger采用异步方式

log4j2.xml配置文件中使用AsyncRoot/AsyncLogger替代Root/Logger

(上述3种方式任选其一即可,不要同时采用)

以上这篇log4j2异步Logger(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。


网站名称:log4j2异步Logger(详解)-创新互联
转载源于:http://bzwzjz.com/article/dodsdc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设 成都营销网站制作 营销型网站建设 网站制作 成都网站设计 宜宾网站设计 网站建设公司 品牌网站建设 企业手机网站建设 高端网站设计推广 专业网站建设 四川成都网站设计 手机网站制作 网站设计制作 成都网站建设 成都网站设计 网站建设改版 成都响应式网站建设公司 成都网站建设 成都网站建设 成都网站设计公司 外贸网站设计方案