当前位置: 首页 > 知识库问答 >
问题:

用slf4j绑定自定义log4j2包装器

姚嘉容
2023-03-14

我正在为log4j2编写一个自定义包装器。使用https://logging.apache.org/log4j/2.x/manual/customloglevels.html#Customlogggers

要求是根据要记录的对象类型选择追加器。我想的方法是扩展log4j2记录器并覆盖log方法(如info),在这些方法中检查对象类型并调用所需的appender。

现在我想让我的应用程序使用slf4j门面,而不是直接使用log4j2。需要关于如何将我的自定义log4j2包装器绑定到slf4j的帮助,并且花费更少的精力:)

我正在考虑的一个选项(还没有尝试过)是在log4j-slf4j-impl中引用我的customlogger包装并生成jar,并在应用程序https://github.com/apache/logging-log4j2/blob/f838bd6f42ea104e692e9e2227dcc54283a41901/log4j-SLF4j18-impl/src/main/Java.org/apache/logging/slf4j/log4jlogger.中使用相同的jar

  • 我们是否有更好的方法来解决此问题?

共有1个答案

丌官炎彬
2023-03-14

如果要根据对象类型选择一个附加器,一种方法是使用Log4J2的RoutingAppender。可以使用模式或脚本配置RoutingAppender。该模式用于从日志事件中提取某些内容。然后将该值与所配置的选项进行匹配,从所配置的选项中选择到附加器的“路由”。当使用脚本时,脚本返回要使用的“路由”的名称。

 类似资料:
  • 我基于此主题为log4j2记录器做了一个包装:如何向log4j消息添加前缀(在对象级别) 以下是我所拥有的: 进口org.apache.log4j.记录仪; 用法: 问题: 作为输出,我有一个到类的链接 "LogWrapper.java:17"它没有指向中调用记录器的行。 如何解决?

  • 我得到以下错误。似乎有多个日志记录框架绑定到SLF4J。不知道该怎么解决。非常感谢任何帮助。

  • 问题内容: 我试图在Log4J2中实现和配置自定义过滤器- 基于ThresholdFilter,但打算做更多。我已经看到了有关自定义追加程序的主题,这些主题遵循相同的插件注释语法,但是还没有找到有关自定义拟合程序的主题。 MyCustomFilter.java (基于ThresholdFilter) log4j2.xml LoggingRunner.java 配置语法似乎与Apache文档中的语法

  • 我在运行java代码时遇到以下运行时异常。有人能帮我解决绑定冲突吗。

  • 我在netbeans中有一个纯Java项目,我得到的警告是: 当然,我搜索了警告,但所有的答案都与用maven或pom.xml文件删除重复绑定有关。但是我没有pom.xml文件,也没有使用Maven。 那么如何排除绑定呢?