返回顶部
首页 > 资讯 > 精选 >log4j2异步Logger(详解)
  • 169
分享到

log4j2异步Logger(详解)

log4j2异步logger 2023-05-30 23:05:59 169人浏览 安东尼
摘要

1 异步Logger的意义之前的日志框架基本都实现了AsyncAppender,被证明对性能的提升作用非常明显。在log4j2日志框架中,增加了对Logger的异步实现。那么这一步的解耦,意义何在呢?如图,按我目前的理解:异步Logger是

1 异步Logger的意义

之前的日志框架基本都实现了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(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: log4j2异步Logger(详解)

本文链接: https://lsjlt.com/news/222279.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • log4j2异步Logger(详解)
    1 异步Logger的意义之前的日志框架基本都实现了AsyncAppender,被证明对性能的提升作用非常明显。在log4j2日志框架中,增加了对Logger的异步实现。那么这一步的解耦,意义何在呢?如图,按我目前的理解:异步Logger是...
    99+
    2023-05-30
    log4j2 异步 logger
  • 详谈异步log4j2中的location信息打印问题
    目录异步log4j2的location信息打印问题说下解决1、全异步同步异步混合log4j2支持异步打印提高打印输出速度pom依赖添加全局模式2两种局部模式 AsyncLogger异...
    99+
    2024-04-02
  • 【Logback】<logger>、<root>标签详解
    文章目录 背景一、\使用1.1、使用示例1.1、属性配置说明 & 演示1.1.1、name1.1.2、level1.1.3、additivity1.1.3.1、效果演示:additivity=...
    99+
    2023-09-24
    logback 链表 java
  • log4j2异步打印性能提升方式
    目录log4j2异步打印性能提升分析原因解决方案log4j2性能提升点理解为以下三点log4j2异步打印性能提升 压测结果发现,log4j升级成log4j2之后对系统性能影响并不大,...
    99+
    2024-04-02
  • log4j2异步日志输出方式有几种
    小编给大家分享一下log4j2异步日志输出方式有几种,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!log4j2的异步日志输出方式使用log4j2的同步日志进行日志...
    99+
    2023-06-22
  • 关于log4j2的异步日志输出方式
    目录log4j2的异步日志输出方式第一种实现异步方式AsyncAppender第二种实现异步方式AsyncLoggerlog4j2异步注意事项log4j2异步类型小提示log4j2的...
    99+
    2024-04-02
  • 从log4j2到Disruptor详解
    目录log4j2异步日志简要回顾Disruptor在log4j2中的应用异步日志Disruptor启动异步日志Disruptor写入架构及流程Disruptor为什么这么快?Log4...
    99+
    2024-04-02
  • 异步log4j2中的location信息打印问题怎么解决
    异步log4j2中的location信息打印问题怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。异步log4j2的location信息打印问题背景:项目改...
    99+
    2023-06-22
  • log4j2中日志异步打印的示例分析
    这篇文章给大家分享的是有关log4j2中日志异步打印的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。log4j2支持日志的异步打印,日志异步输出的好处在于,使用单独的进程来执行日志打印的功能,可以提高日志...
    99+
    2023-05-30
    log4j2
  • golang日志包logger的用法详解
    1. logger包介绍 import "github.com/wonderivan/logger" 在我们开发go程序的过程中,发现记录程序日志已经不是fmt.print这...
    99+
    2024-04-02
  • JavaScript的异步ajax详解
    目录一级目录二级目录三级目录HTTP协议请求消息结构请求方法响应头信息响应状态码AJAXAJAX = Asynchronous JavaScript and XML(异步的 Java...
    99+
    2024-04-02
  • python更加灵活的Logger日志详解
    用到的4个类: 1、Logger: 打印日志用的对象;  设置日志等级,添加移除handler,添加移除filter,设置下级Logger,使用各种方法打印日志; 创建方式...
    99+
    2024-04-02
  • 详解JavaScript实现异步Ajax
    目录一、什么是 AJAX ?1、AJAX是基于现有的Internet标准2、AJAX 工作原理二、AJAX - 创建 XMLHttpRequest 对象1、XMLHttpReques...
    99+
    2024-04-02
  • Java SpringMVC异步处理详解
    目录1、本篇内容2、看段代码,分析问题3、springmvc 中异步处理4、模拟非超时请求5、模拟超时请求6、总结1、本篇内容 本文让大家掌握 springmvc 中异步处理请求,特...
    99+
    2024-04-02
  • 详解python之异步编程
    目录一、异步编程概述二、python的异步框架模型三、顺序执行多个可重叠的任务四、异步化同步代码五、使用多线程克服具体任务的异步限制总结一、异步编程概述 异步编程是一种并发编程的模式...
    99+
    2024-04-02
  • Java 异步编程 (5 种异步实现方式详解)
    同步操作如果遇到一个耗时的方法,需要阻塞等待,那么我们有没有办法解决呢?让它异步执行,下面我会详解异步及实现 @mikechen 目录 什么是异步?一、线程异步二、Future异步三、CompletableFuture异步四、Spring...
    99+
    2023-09-02
    java jvm 数据库
  • SpringBoot 2.x整合Log4j2日志的详细步骤
    目录概述整合步骤Log4j2配置详解根节点configuration子节点Properties子节点Appenders子节点Loggers总结参考概述 公司的spring boot项...
    99+
    2024-04-02
  • log4j2的异步使用及添加自定义参数方式
    目录log4j2异步使用及添加自定义参数添加依赖(这里省略了版本号)下面写一个生产可用的log4j2.xml的模板补充知识自定义日志格式如何在日志中添加自己想传的参数?log4j 输...
    99+
    2024-04-02
  • Java 的异步编程 (5 种异步实现方式详解)
    一、线程异步 创建一个异步线程 public class AsyncThread extends Thread{ @Override public void run() { System.out.println("...
    99+
    2023-09-03
    java jvm 开发语言
  • Android的异步任务AsyncTask详解
    AsyncTask,顾名思义,异步任务。说到异步,最简单的理解就是不同步。再复杂一点理解,就得举例子了。 假设我要去火车站买票,刚到火车站我突然发现我忘了带身份证。怎么办?怎么...
    99+
    2022-06-06
    异步 asynctask Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作