Log4j2如何使用多个配置文件?

2023-12-28

我正在编写测试 Java 库的 Java 代码。该库包含其自己的 Log4j2 配置作为发行版的一部分。

我想在我的测试代码中使用 Log4j2 而不修改库的配置。

有没有办法为我的测试代码提供单独的 Log4j2 配置?

这一切都作为命令行 Java 运行,根本没有服务器或 Web 参与。


EDIT

我想要的是能够配置loggers, 附加器等供测试代码使用,以及同时使用库代码有自己独立的配置文件用于其日志记录。

我的想法是在我的测试代码中使用 Log4j2,但无需更改库的配置文件。由于库配置文件是库发行版的一部分,因此我不想更改它以进行测试。


这可能会有所帮助:

  • Log4j2首先会在类路径中查找log4j2-test.xml
  • 如果找不到该文件,它将在类路径中查找 log4j2.xml

因此一种选择是将库的配置 (log4j2.xml) 复制到 log4j2-test.xml 并将您自己的配置添加到 log4j2-test.xml。

此外,Log4j2支持 XML 配置中的 Xinclude https://issues.apache.org/jira/browse/LOG4J2-341,因此您可以使用该功能来避免在 log4j2-test.xml 中重复库的配置。

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

Log4j2如何使用多个配置文件? 的相关文章

随机推荐

  • 控制台和文件上的 Python 输出

    我正在编写一个代码来分析 PDF 文件 我想在控制台上显示输出 并在文件中保存输出的副本 我使用以下代码将输出保存在文件中 import sys sys stdout open C users Suleiman JK Desktop fil
  • 如何在 PostgreSQL 函数中使用 COMMIT 和 ROLLBACK

    我正在使用三个插入语句 如果第三个语句有错误 我想回滚第一个和第二个语句 如果没有办法做到这一点 请告诉我在 PostgresqQL 中处理此问题的不同方法 如果我使用COMMIT or ROLLBACK 我收到错误 CREATE OR R
  • jsp:param 与 Java 类

    我有一个 JSP 文件 其中包含另一个 JSP 文件 第一个 JSP 应该将 Java 类 小部件 的实例传递给第二个 JSP 文件 这就是我所拥有的 第一个 JSP
  • Scala tailrec注释错误

    我有一个名为的 Java 抽象类ImmutableEntity以及几个包含类级注释的子类 DBTable 我正在尝试使用尾递归 Scala 方法在类层次结构中搜索注释 def getDbTableForClass A lt Immutabl
  • 在 Swift 中用数组序列化我自己的对象有什么更优雅的方法

    我有一个看起来像这样的课程 class Foo var bar Int class Bar var baz String var arr Foo 我有一个 Bar 结构的对象 我需要将其序列化为 JSON let instance Bar
  • 将主题更改为“NoActionBar”后应用程序崩溃

    您好 我必须将我的应用程序主题更改为 Theme AppCompat Light NoActionBar 但我更改后 应用程序崩溃了 我找不到问题出在哪里 我的目标是在工具栏上扩展我的导航抽屉 但为此 我需要 NoActionBar 函数
  • 函数 NSE 内的 group_by dplyr

    我使用时遇到问题dplyr and group by在管道函数调用中 可重现的示例 使用以下数据 ex data lt structure list word1 c no not not no not not not not no not
  • 使用自定义 ExecutionContext 执行 Future.sequence

    我正在尝试创建一个Future List Int from a List Future Int 使用指定的ExecutionContext 但是 我收到有关类型为 cbf 的第二个隐式参数的错误CanBuildFrom 我不完全理解其目的C
  • TypeScript 错误 Web 必备

    我使用 Web Essentials 在保存时编译我的打字稿文件 Visual Studio 2012 但我得到一个空的 js 和以下消息 Compile Error See error list for details error TS5
  • 禁用点击事件处理程序一段时间

    我已经看过类似的问题 但提供的答案涉及按钮而不是 div 元素 当我单击带有 id 的 div 元素时click 单击事件处理程序被禁用unbind 并设置一个 2 秒的计时器 2 秒后 应再次启用单击事件处理程序bind 问题是单击事件处
  • 如何在 python 中查找常规 3D 网格上的相邻线

    我有一堆点的坐标 想在 python 包中用它们创建曲面 我想在将数据导入包之前对其进行整理 点来自规则网格 首先 我根据点的位置创建线 在此步骤中 我仅定义哪些点号创建我的线 我的输入数据是 coord np array 0 0 2 0
  • 将旧的 makefile 转换为 CMake

    我正在尝试将旧的 makefile 代码转换为 CMake 你能帮助我吗 这是我目前陷入困境的部分 我不知道如何将这些参数传递给编译器 COMPILE FLAGS c m32 O3 fPIC w DSOMETHING Wall I src
  • Addthis 不适用于 Ajax

    我正在使用 Ajax 加载所有文章 但 Addthis 功能不正确 thisChild load permLink thePostStuff function 在所述 load 函数的回调中 我添加了以下代码以引入 Addthis 共享功能
  • Scala 中具有抽象类型的 F 界多态性

    我读过几篇文章 表达了应该使用抽象类型来实现 Scala 中的 f 有界多态性 这主要是为了缓解类型推断问题 同时也是为了消除定义递归类型时类型参数似乎引入的二次增长 这些定义如下 trait EventSourced E self gt
  • Android自定义评分栏图片大小问题

    我正在构建一个自定义评级栏 在 kozyr 的文章的帮助下 我创建了它 但我对不同屏幕类型的不同图像缩放尺寸有疑问 下面我提供了图像 左侧是我的自定义评级栏的屏幕截图 右侧是简单的图像视图 这是针对 HVGA 屏幕的 链接到屏幕截图 htt
  • 从 minikube 集群内部连接到本地数据库

    我正在尝试从 minikube pod 内部访问托管在 localhost 上的 docker 容器内的 MySQL 数据库 但收效甚微 我尝试了所描述的解决方案Minikube 将在本地主机上运行的 MySQL 作为服务公开 https
  • 之间的区别:SAX Parser、XPath、DOM、XMLPullParser

    我想知道上述四种类型 SAXPaser XPath DOM XMLPullParse 之间的区别以及我们何时应该使用每种类型 SAX 解析是比 DOM 最好实现的一种解析 请参见以下两者之间的区别 DOM 节点采用树结构的形式 内存 它占用
  • 如何在 标记中使用缩进?

    我有一个带有一些计算机代码的代码标签 code int main br gt printf Hello World br gt code 但是当我在浏览器中显示它时 不会出现缩进 除了 使用 nbsp 编写它们将是一项非常乏味的工作 pre
  • 如何使用ajax将javascript值获取到php变量而不重新加载页面

    在这里我想从中获取一个值JavaScript to PHP变量而不使用任何 POST 或 GET 方法 我在这里给出 HTML 代码
  • Log4j2如何使用多个配置文件?

    我正在编写测试 Java 库的 Java 代码 该库包含其自己的 Log4j2 配置作为发行版的一部分 我想在我的测试代码中使用 Log4j2 而不修改库的配置 有没有办法为我的测试代码提供单独的 Log4j2 配置 这一切都作为命令行 J