Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

271
Views
¿Hay un adaptador para que log4j2 funcione sobre slf4j?

Tengo una biblioteca de terceros (elasticsearch 5.x) que usa log4j2. Mi aplicación usa slf4j. ¿Existe un adaptador para la versión 2 de log4j, similar al adaptador de la versión 1 (log4j-over-slf4j)?

Solo para aclarar: no quiero usar log4j o log4j2 como la implementación real (enlace). Yo uso el inicio de sesión para eso. Así que necesito un adaptador log4j2 a slf4j, no un enlace slf4j.

También debo mencionar que encontré y probé esta biblioteca (en la versión 2.0-beta): https://logging.apache.org/log4j/2.0/log4j-to-slf4j/index.html pero me da este error:

 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)

EDITAR : Ok ... supongo que ayer estaba ciego y solo estaba viendo la versión beta de esta biblioteca. Por lo tanto, la respuesta es que existe un adaptador y está aquí:

https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-to-slf4j https://logging.apache.org/log4j/2.0/log4j-to-slf4j/index.html

La última versión actualmente es 2.8.2

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Debe incluir log4j-to-slf4j-2.x.jar y asegurarse de no incluir log4j-slf4j-impl-2.x.jar . Consulte Adaptador de Log4j a SLF4J para obtener más detalles.

over 4 years ago · Santiago Trujillo Report

0

El propio Log4j2 incluye una implementación de slf4j (log4j-slf4j-impl-2.x.jar)

Este es uno de los jars de la distribución Log4j2.


Actualización después de que se aclaró la pregunta:

Log4j2 incluye un puente de log4j a slf4j “. Esto es lo que necesita para enrutar el registro de Log4j2 a otra implementación de slf4j.

Es probable que el error mencionado sea un problema de versiones incompatibles, pero la pregunta no menciona los números de versión, por lo que es difícil decirlo.

over 4 years ago · Santiago Trujillo Report

0

De https://logging.apache.org/log4j/2.0/faq.html

Puede usar el jar del adaptador log4j-to-slf4j cuando su aplicación llama a la API de Log4j 2 y desea enrutar las llamadas de registro a una implementación de SLF4J.

ingrese la descripción de la imagen aquí

El proyecto Slf4j no proporciona un puente de log4j v2 a Slf4j (no se ha mencionado en https://www.slf4j.org/legacy.html ).

Dependencias de Maven:

 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> <version>2.11.0</version> </dependency>

Dependencia de Gradle:

 compile "org.apache.logging.log4j:log4j-to-slf4j:2.10.0"

Tenga en cuenta que el paquete anterior tiene una dependencia transitiva en:

 org.slf4j:slf4j-api:1.7.25 org.apache.logging.log4j:log4j-api:2.10.0

Lista de paquetes: https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-to-slf4j

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!