log4j2采用AsyncLogger出现的错误及解决方案

 更新时间:2021年12月24日 10:12:34   作者:romantic_jie  
这篇文章主要介绍了log4j2采用AsyncLogger出现的错误及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

log4j2采用AsyncLogger的错误

配置文件,配置日志打印控制

Appender采用默认同的(不额外加异步控制的Async)

Logger采用异步的AsyncLogger(root无所谓)

如果此时是这样配置的,也就是想要使用AsyncLogger + (sync)Appender的方式,但是却出错了:

Unable to invoke factory method in class class org.apache.logging.log4j.core.async.AsyncLoggerConfig for element AsyncLogger. java.lang.reflect.InvocationTargetException

解决方法

pom文件中,或者说项目的依赖jar包中,只引入了log4j2的相关api包和core包。

补充一个 额外的log4j2本身代码逻辑所依赖的 disruptor包。

问题解决!!!

问题来源:log4j2的AsyncLogger本身的逻辑采用了缓冲区思想,使用的是disruptor框架来实现一个环形无锁队列。

让人想不到的是,这个东西竟然需要自己引入依赖jar包!!!

log4j的AsyncLogger的name属性

可以是包路径比如:org.apache

使用方式:

Logger logger=LoggerFactory.getLogger(getClass());

那么所有org.apache包下的日志都写在这个asynclogger

也可以是自定义名字比如:myLogger

使用方式:

Logger logger=LoggerFactory.getLogger("myLogger");

那么该日志写在这个asynclogger

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一步步讲解Spring Boot整合MyBatis与PostgreSQL实战指南

    一步步讲解Spring Boot整合MyBatis与PostgreSQL实战指南

    这篇文章主要介绍了如何在SpringBoot环境中集成MyBatis和PostgreSQL,涵盖了环境搭建、项目创建、数据源配置、实体类与Mapper接口定义、MapperXML文件编写、业务层与控制层实现以及测试与验证的全过程,需要的朋友可以参考下
    2025-02-02
  • java使用RabbitMQ实现延迟消息示例

    java使用RabbitMQ实现延迟消息示例

    本文介绍了在分布式系统中,使用RabbitMQ实现延迟消息处理,其中详细阐述了RabbitMQ队列和交换机的配置、消息的发送与接收以及死信队列的处理,具有一定的参考价值,感兴趣的可以了解一下
    2024-10-10
  • kafka安装部署超详细步骤

    kafka安装部署超详细步骤

    这篇文章主要介绍了kafka安装部署的详细步骤,主要应用场景是:日志收集系统和消息系统,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Java中对集合的元素排序操作方法

    Java中对集合的元素排序操作方法

    本文介绍了Java中对集合元素进行排序的几种常见方法,包括使用Collections.sort()、List.sort()、StreamAPI以及对Map的键或值进行排序,每种方法都有其适用的场景和使用方式,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • SpringBoot3集成Redis的方法详解

    SpringBoot3集成Redis的方法详解

    缓存在项目开发中,基本上是必选组件之一,Redis作为一个key-value存储系统,具备极高的数据读写效率,并且支持的数据类型比较丰富,下面我们就来看看SpringBoot3是如何集成Redis的吧
    2023-08-08
  • 浅谈Java中的class类

    浅谈Java中的class类

    这篇文章主要介绍了浅谈Java中的class类,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • java中的文件操作总结(干货)

    java中的文件操作总结(干货)

    本篇文章主要介绍了java中的文件操作总结(干货),主要有文件读写,遍历文件夹,文件夹操作等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • spring MVC + bootstrap实现文件上传示例(带进度条)

    spring MVC + bootstrap实现文件上传示例(带进度条)

    本篇文章主要介绍了spring MVC + bootstrap实现文件上传示例(带进度条),非常具有使用价值,有需要的朋友可以了解一下。
    2017-03-03
  • java集合 ArrayDeque源码详细分析

    java集合 ArrayDeque源码详细分析

    ArrayDeque是一种以数组方式实现的双端队列,它是非线程安全的。下面小编和大家一起学习一下
    2019-05-05
  • jeefast和Mybatis实现三级联动的示例代码

    jeefast和Mybatis实现三级联动的示例代码

    这篇文章主要介绍了jeefast和Mybatis实现三级联动的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10

最新评论