dubbox升级spring到4.x及添加log4j2支持

简介: 今天花了点时间,把dubbox依赖的spring从3.x升级成最新版的4.x了,其它一些依赖的组件也顺带升级了,同时dubbo支持的第三方日志组件居然没有log4j2,加了点代码也一并支持了,蛋疼的是依赖的zkclient,这个项目太不讲究了,里面N多代码硬编码写死依赖log4j,于是把这个项目也改了下,全部改成依赖slf4j了,方便以后更换其它兼容slf4j-api的日志组件。

今天花了点时间,把dubbox依赖的spring从3.x升级成最新版的4.x了,其它一些依赖的组件也顺带升级了,同时dubbo支持的第三方日志组件居然没有log4j2,加了点代码也一并支持了,蛋疼的是依赖的zkclient,这个项目太不讲究了,里面N多代码硬编码写死依赖log4j,于是把这个项目也改了下,全部改成依赖slf4j了,方便以后更换其它兼容slf4j-api的日志组件。

1、zkclient的修改版本,已提交至https://github.com/yjmyzz/zkclient (版本号已更新为0.8.1)

2、dubbox的修改版本,已提交至https://github.com/yjmyzz/dubbox (版本号已经更新为2.8.4a)

并没有提交到maven中央仓库,需要的同学自行fork代码,本机编译

(注:如果只是使用,不需要看源码,直接https://github.com/yjmyzz/dubbox/releases/tag/2.8.4a 这里下载即可)

使用时,参考如下配置:(以gradle项目为例)

service-provider/service-consumer的build.gradle:

dependencies {
   ...
    compile('org.springframework:spring-context:4.2.4.RELEASE') {
        exclude(module: 'commons-logging')
    }

    compile ('com.alibaba:dubbo:2.8.4a'){
        exclude(module: 'log4j')
        exclude(module: 'logback-classic')
        exclude(module: 'slf4j-log4j12')
    }
   
   ...
    compile ('org.apache.zookeeper:zookeeper:3.4.6'){
        exclude(module: 'log4j')
        exclude(module: 'slf4j-log4j12')
    }
 
    compile 'org.apache.logging.log4j:log4j-slf4j-impl:2.5'
    compile 'org.apache.logging.log4j:log4j-core:2.5'
}
目录
相关文章
|
3月前
|
消息中间件 存储 Java
手动实现 Spring Boot 日志链路追踪:提升调试效率的利器
【8月更文挑战第8天】在复杂的分布式系统中,日志是诊断问题、追踪系统行为的重要工具。然而,随着微服务架构的普及,服务间的调用链路错综复杂,传统的日志记录方式往往难以快速定位问题源头。今天,我们将探讨如何在不依赖外部组件(如Zipkin、Sleuth等)的情况下,手动实现Spring Boot应用的日志链路追踪,让日志定位更加便捷高效。
174 1
|
4月前
|
存储 SQL Java
Spring Boot使用slf4j进行日志记录
本节课主要对 slf4j 做了一个简单的介绍,并且对 Spring Boot 中如何使用 slf4j 输出日志做了详细的说明,着重分析了 logback.xml 文件中对日志相关信息的配置,包括日志的不同级别...
|
4月前
|
Java Spring
在Spring Boot中使用AOP实现日志切面
在Spring Boot中使用AOP实现日志切面
|
4月前
|
开发框架 运维 监控
解决Spring Boot中的日志管理挑战
解决Spring Boot中的日志管理挑战
|
3月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
3月前
|
XML Java 数据库
"揭秘!Spring Boot日志链路追踪大法,让你的调试之路畅通无阻,效率飙升,问题无所遁形!"
【8月更文挑战第11天】在微服务架构中,请求可能跨越多个服务与组件,传统日志记录难以全局追踪问题。本文以电商系统为例,介绍如何手动实现Spring Boot应用的日志链路追踪。通过为每个请求生成唯一追踪ID并贯穿全链路,在服务间传递该ID,并在日志中记录,即使日志分散也能通过ID串联。提供了实现这一机制所需的关键代码片段,包括使用过滤器设置追踪ID、业务代码中的日志记录及Logback配置。此方案显著提升了问题定位的效率,适用于基于Spring Boot构建的微服务环境。
82 4
|
3月前
|
API 开发者 Java
API 版本控制不再难!Spring 框架带你玩转多样化的版本管理策略,轻松应对升级挑战!
【8月更文挑战第31天】在开发RESTful服务时,为解决向后兼容性问题,常需进行API版本控制。本文以Spring框架为例,探讨四种版本控制策略:URL版本控制、请求头版本控制、查询参数版本控制及媒体类型版本控制,并提供示例代码。此外,还介绍了通过自定义注解与过滤器实现更灵活的版本控制方案,帮助开发者根据项目需求选择最适合的方法,确保API演化的管理和客户端使用的稳定与兼容。
157 0
|
3月前
|
人工智能 Java Spring
Spring框架下,如何让你的日志管理像‘AI’一样智能,提升开发效率的秘密武器!
【8月更文挑战第31天】日志管理在软件开发中至关重要,不仅能帮助开发者追踪问题和调试程序,还是系统监控和运维的重要工具。在Spring框架下,通过合理配置Logback等日志框架,可大幅提升日志管理效率。本文将介绍如何引入日志框架、配置日志级别、在代码中使用Logger,以及利用ELK等工具进行日志聚合和分析,帮助你构建高效、可靠的日志管理系统,为开发和运维提供支持。
61 0
|
3月前
|
监控 Java Serverless
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
|
3月前
|
存储 Java Spring
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?