Is there an adapter for log4j2 to work over slf4j?(是否有用于log4j2在slf4j上工作的适配器?)
问题描述
我有一个使用log4j2的第三方库(ElasticSearch5.x)。我的应用程序使用slf4j。是否有类似于版本1适配器(log4j-over-slf4j)的log4j版本2的适配器?
只是澄清一下:我不想实际使用log4j或log4j2作为实际实现(绑定)。为此,我使用Logback。所以我需要log4j2到slf4j的适配器,而不是slf4j绑定。
我还应该提一下,我已经找到并尝试了这个库(2.0测试版): https://logging.apache.org/log4j/2.0/log4j-to-slf4j/index.html 但它给出以下错误:Caused by: java.lang.AbstractMethodError: org.apache.logging.slf4j.SLF4JLoggerContextFactory.getContext(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/Object;Z)Lorg/apache/logging/log4j/spi/LoggerContext;
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:175)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:426)
at org.elasticsearch.common.logging.ESLoggerFactory.getLogger(ESLoggerFactory.java:49)
at org.elasticsearch.common.logging.Loggers.getLogger(Loggers.java:105)
at org.elasticsearch.common.logging.Loggers.getLogger(Loggers.java:72)
at org.elasticsearch.common.component.AbstractComponent.<init>(AbstractComponent.java:37)
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:98)
at org.elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:99)
at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:124)
at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:258)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:125)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:111)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:101)
编辑:确定..所以我猜我昨天只是瞎了眼,我只看到了这个库的测试版。因此,答案是有这样的适配器,它在这里:
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-to-slf4jhttps://logging.apache.org/log4j/2.0/log4j-to-slf4j/index.html
当前最新版本为2.8.2
推荐答案
Log4j2本身捆绑了slf4j implementation(log4j-slf4j-impl-2.x.jar)
这是Log4j2distribution中的一个JAR。
问题澄清后更新:
Log4j2包含log4j-to-slf4j bridge"。这是将Log4j2日志记录路由到另一个slf4j实现所需的。
提到的错误可能是版本不兼容的问题,但问题没有提到版本号,所以很难说。
这篇关于是否有用于log4j2在slf4j上工作的适配器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:是否有用于log4j2在slf4j上工作的适配器?
基础教程推荐
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01