在 Spring Boot 启动器中覆盖 log4j2 版本

2023-11-26

我们正在尝试构建一个 Springboot 启动器,它将以编程方式创建 log4j2 配置,因此开发人员不必费心创建 log4j2.xml 文件。问题在于 log4j2 编程 API 随版本的不同而变化。我们已经使用 log4j2 2.5 版测试了我们的代码,它在独立环境中正常工作

现在,我们尝试将我们的 API 包含在 Spring Boot 启动器中,以便所有 Spring Boot 应用程序都可以包含此启动器,而不必担心 log4j 配置。

我们面临的问题是 Springboot 捆绑了自己的 log4j 版本,我们无法控制用户将使用哪个版本的 Springboot。

有没有办法我们可以强制 spring boot starter 加载 log4j2 2.5 版本,否则你的测试 Spring Boot 应用程序会抱怨 log4j 中找不到某些方法


It is convenient to add log4j2 dependency to section in parent project, as below
<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>

它将规定项目和模块中的所有 log4j 2 版本。 相反,没有必要添加一些 log4j2 依赖项 独立。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Spring Boot 启动器中覆盖 log4j2 版本 的相关文章

随机推荐

  • 消除无样式内容的闪烁

    如何停止网页上出现无样式内容 FOUC 使用 css 样式最初隐藏某些页面元素 然后使用 javascript 在页面加载后将样式更改回可见的问题是 未启用 javascript 的人将永远无法看到这些元素 所以这是一个不会正常降级的解决方
  • php中的正则表达式:取最短匹配

    我正在尝试做一个 PHP 正则表达式 但我找不到正确的方法 想象一下我有这个字符串 你好 我的 名字是彼得 和 我想吃巧克力 我想取 和 之间的部分 但如果我使用preg match string 它只返回一个字符串 名字是彼得 和 我想吃
  • Url.Action 从 Route 属性映射了错误的链接

    这是目标控制器和操作 RoutePrefix Editor public class EditorController Controller HttpGet Route id int public ActionResult Edit int
  • 如何在SQL Server中使用批量插入写入UTF-8字符?

    我正在对 sqlserver 进行批量插入 但它没有正确地将 UTF 8 字符插入数据库 数据文件包含这些字符 但执行批量插入后数据库行包含垃圾字符 我的第一个怀疑是格式文件的最后一行 10 0 3 1 SQLCHAR 0 0 1 INST
  • 如何通过 Google Maps API 找到最近的十字路口?

    如何找到距离我最近的街道的坐标 例如 假设我有一条从南到北的街道 A 北边有 X 街道 南边有 Y 街道 Google 地图 API 是否允许查找街道 A 最近的十字路口 X 或 Y 的坐标 我找不到任何地方提到过它 PS 我知道的唯一解决
  • Eclipse - 调试器不会在断点处停止

    我正在尝试对 JUnit 进行故障排除 在源代码中 我在两个位置设置了断点 1 在初始化静态成员的行中2 其中一个测试用例的第一行 调试器在静态字段初始化行停止 但它并不止于测试用例 无论我在测试用例中的何处设置断点 调试器都不会在那里停止
  • Django 表单总是显示错误“此字段为必填字段”

    当我渲染表单时 django 总是在每个字段上显示错误消息 此字段是必需的 即使没有提交表格 可能是什么问题呢 这是我的模型表格 class MMEditidStateForm forms ModelForm class Meta mode
  • 生成器与列表理解

    我有一些东西 当作为列表理解运行时 运行良好 看起来像 myClass Function things for things in biggerThing Function是一个方法 它构建一个列表 该方法本身不返回任何内容 但会在其中对列
  • QR 分解求解 CUDA 中的线性系统

    我正在GPU上写一个图像恢复算法 详细信息在 Cuda 最小二乘求解 速度较差 求解线性系统的QR分解法 Ax b 工作原理如下 min Ax b gt QRx b gt Q T QRx Q T b gt Rx Q T b where R是
  • 接口中的 C# 数据注释

    快速提问 如果我在界面中添加注释 说 必填 我可以在属性的 C 类中省略该符号吗 即我可以 interface IFoo Required string Bar get set class Foo IFoo string Bar get s
  • 导入 HoloEverywhere 时出错

    首先 我是 Android 新手 我正在做一个应用程序 并且正在实现一个名为的库无处不在的全息 这个库在themes xml 中使用ActionBar Sherlock 库 我已将 ActionBar Sherlock 导入到我的工作区 并
  • eclipse 在 ubuntu 14.04 上崩溃

    我在 ubuntu 13 10 上使用了 google android ide adt eclipse 它很好 当我升级 ubuntu 14 04 时 当 eclipse 崩溃时 它会提示方法等 日志如下 谁能帮我 谢谢 A fatal e
  • EF4可以支持批量更新吗?

    实体框架 v4 是否支持批量更新 插入 因此它可以一次性向数据库发送 gt 1 个命令 而不是向数据库发送 gt 1 个命令 Thanks 我不相信这已经改变了 您有以下选择 存储过程 像这篇文章这样的东西 使用 T Sql 之类的在这个问
  • pytorch模型总结——forward func有多个参数

    我正在使用火炬摘要 from torchsummary import summary 我想在打印模型摘要时传递多个参数 但这里提到的示例 pytorch中的模型总结只采取了一个论点 例如 model Network to device su
  • 即使元素的值也在 CSS 中设置,也能获取内联样式值吗?

    如果你有以下元素 span style width 100px span CSS 是 span width 50px important 有没有办法获取内联样式值并忽略 css 值 Thanks use element style widt
  • 使用 apache 和 mod_wsgi 的 Flask hello world 仅显示 webroot 中的文件

    我正在尝试使用 wsgi 从 Flask 站点通过 apache2 运行基本的 hello py 我的代码如下所示 var www flask dev hello py from flask import Flask app Flask n
  • 在哪里可以找到 PythonMagick 文档?

    我似乎无法在任何地方找到 PythonMagick ImageMagick 的绑定 文档 即使下载也没有 docs 文件夹 请问链接 我认为它不再活跃了 看这里
  • py2exe - 生成单个可执行文件

    我以为我听到了py2exe能够做到这一点 但我从未弄清楚 有人成功做到这一点吗 我可以查看您的 setup py 文件以及您使用的命令行选项吗 基本上我想它给我一个可执行文件 它可以执行诸如将自身解压缩到 temp 并运行之类的操作 使用
  • 如何设置 CG_CONTEXT_SHOW_BACKTRACE 环境变量?

    我认为有三个按钮 在 viewDidLoad 中设置cornerRadus后 button layer cornerRadius 20我在日志中收到以下错误消息
  • 在 Spring Boot 启动器中覆盖 log4j2 版本

    我们正在尝试构建一个 Springboot 启动器 它将以编程方式创建 log4j2 配置 因此开发人员不必费心创建 log4j2 xml 文件 问题在于 log4j2 编程 API 随版本的不同而变化 我们已经使用 log4j2 2 5