Naz*_* K. 12 java log4j slf4j log4j2
我有一个使用log4j2的第三方库(elasticsearch 5.x).我的应用程序使用slf4j.是否有适用于log4j版本2的适配器,类似于版本1适配器(log4j-over-slf4j)?
只是为了澄清:我不想实际使用log4j或log4j2作为实际的实现(绑定).我使用logback.所以我需要一个log4j2到slf4j适配器,而不是slf4j绑定.
我还应该提一下,我已经找到并尝试了这个库(在2.0-beta版本中):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)
Run Code Online (Sandbox Code Playgroud)
编辑:好吧..所以我想我昨天只是失明了,我只看到了这个库的测试版.因此答案是有适配器等,它在这里:
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-to-slf4j https://logging.apache.org/log4j/2.0/log4j-to-slf4j/index.html
最新版本目前为2.8.2
Log4j2 本身捆绑了一个slf4j 实现(log4j-slf4j-impl-2.x.jar)
这是 Log4j2发行版中的 jar 包之一。
问题澄清后更新:
\nLog4j2 包含一个log4j-to-slf4j 桥\xe2\x80\x9c。这就是将 Log4j2 日志记录路由到另一个 slf4j 实现所需的内容。
\n提到的错误可能是版本不兼容的问题,但问题没有提到版本号,所以很难说。
\n| 归档时间: |
|
| 查看次数: |
5155 次 |
| 最近记录: |