es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Especifiqué la nueva versión de Log4J, pero aún así las dependencias también muestran la versión antigua.

Tengo un proyecto que utiliza SLF4J, también SLF4J utiliza Log4J 1.2.17 (por defecto sin especificar ninguna versión en pom.xml).

Hola, quiero actualizar la versión de Log4J a 2.17.1, hay información sobre cómo hacerlo en este enlace: https://logging.apache.org/log4j/2.x/maven-artifacts.html

Además, he agregado el siguiente código a mi archivo pom.xml:

<dependencies>
  <dependency>
    <groupid>org.apache.logging.log4j</groupid>
    <artifactid>log4j-slf4j-impl</artifactid>
    <version>2.17.1</version>
  </dependency>
</dependencies>

Luego, cuando verifico las dependencias de Maven, muestra la versión antigua y la nueva en mi proyecto.

Actualmente estoy confundido acerca de si “actualicé Log4J o no”. ¿Cómo puedo estar seguro?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    ¡Hola!

    Para asegurarte de que has actualizado correctamente Log4J en tu proyecto, primero debes verificar que se esté utilizando la dependencia de Log4J 2.17.1 en lugar de la versión anterior.

    Una forma de hacer esto es revisar el número de versión en las dependencias de Maven, como ya has hecho. Sin embargo, también puede ser útil ver la implementación real de Log4J que se está utilizando.

    Dado que estás utilizando SLF4J como fachada de registro, puedes verificar qué implementación está utilizando SLF4J en tiempo de ejecución agregando la siguiente línea de código en algún lugar de tu proyecto:

    System.out.println(org.slf4j.impl.StaticLoggerBinder.getSingleton().getLoggerFactoryClassStr());
    

    Esto mostrará el nombre de la clase completamente calificado de la implementación del LoggerFactory que se está utilizando. Si es la implementación de Log4J 2, la salida debería incluir “Log4j2”. Si sigue siendo la implementación de Log4J 1.2, la salida incluirá “Log4j”.

    ¡Espero que esto te ayude! Avísame si tienes más preguntas.

Comments are closed.