Over-riding the log4j2 version in a Springboot starter(在SpringBoot启动程序中覆盖log4j2版本)
问题描述
我们正在尝试构建一个SpringBoot Starter,它将以编程方式创建log4j2配置,因此开发人员不必费心创建log4j2.xml文件。问题是,不同版本的log4j2编程API有所不同。我们已经使用log4j2版本2.5测试了我们的代码,它在独立环境中可以正常工作
现在,我们正在尝试将API包含在SpringBoot Starter中,以便所有SpringBoot应用程序都可以包含此Starter,而不必担心log4j配置。
我们面临的问题是,SpringBoot捆绑了自己的log4j版本,而我们无法控制用户将使用哪个版本的SpringBoot。
有没有办法强制SpringBoot启动程序加载版本2.5的log4j2,否则我们的测试SpringBoot应用程序会报告一些在log4j中找不到的方法
推荐答案
将log4j2依赖项添加到节很方便 在父项目中,如下所示<dependencyManagement> <dependencies> ... <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j</artifactId> <version>2.15.0</version> <type>pom</type> <scope>import</scope> </dependency> ... </dependencies> </dependencyManagement>
它将规定项目和模块中的所有log4j2版本。 相反,不需要添加一些log4j2依赖项 独立的。
勾选this question post
如果项目的log4j依赖项仅来自 Spring-Boot-starter-log4j2,它有一个明确的设置方式,参考 春季 博客<properties> <log4j2.version>2.17.0</log4j2.version> </properties>
这篇关于在SpringBoot启动程序中覆盖log4j2版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在SpringBoot启动程序中覆盖log4j2版本
基础教程推荐
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01