Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

273
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda