Saltar al contenido

No se encontró el archivo de configuración log4j2. Usando la configuración predeterminada: registrando solo errores en la consola

No dudes en divulgar nuestro espacio y códigos con tus amigos, danos de tu ayuda para aumentar esta comunidad.

Solución:

Problema 1

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

Solución 1

Para trabajar con la versión 2 de log4j, también conocido como “log4j2”

-Dlog4j.configuration=

tiene que leer

-Dlog4j.configurationFile=
  • Manual 1.2: http://logging.apache.org/log4j/1.2/manual.html
  • Manual 2.x: http://logging.apache.org/log4j/2.x/manual/configuration.html

Problema 2

log4j:WARN ....

Solución 2

En su proyecto, elimine el jar log4j-1.2 y, en su lugar, incluya log4j-1.2-api-2.1.jar. No estaba seguro de cómo excluir exactamente log4j 1.2. Sabía que dependencia de mi proyecto lo requería. Entonces, con un poco de lectura, excluí un montón de cosas.


    org.apache.kafka
    kafka_2.10
    0.8.2.0
    
        
            org.apache.logging.log4j
            log4j-core                
        
        
            org.apache.log4j
            log4j-core
        
        
            log4j
            log4j
                  
    

No estoy seguro de cuál de las exclusiones hizo el truco. Por separado, incluí una dependencia a la API 1.2 que une a 2.x.



    org.apache.logging.log4j
    log4j-1.2-api
    2.2

Ahora, los registros 1.2 que solo iban a la consola en realidad fluyen a nuestros appenders 2.x.

Si no tienes la fortuna del log4j-1.2.jar en tu classpath como señala Renko en su comentario, solo verás el mensaje no se encontró el archivo de configuración log4j2.

Esto es un problema si hay un error en su archivo de configuración, ya que no se le dirá dónde está el problema al iniciar.

Por ejemplo, si tiene un archivo log4j2.yaml que log4j2 no puede procesar porque, por ejemplo, no ha configurado un analizador YAML para su proyecto o su configuración es simplemente incorrecta. Te encontrarás con el no se encontró el archivo de configuración log4j2 mensaje, sin más información. Este es el caso incluso si tiene un archivo log4j2.xml válido, ya que log4j2 solo intentará procesar el primer archivo de configuración que encuentre.

Descubrí que la mejor manera de depurar el problema es indicar explícitamente el archivo de configuración que desea usar según el argumento de la línea de comando mencionado anteriormente.

-Dlog4j.configurationFile=

Con suerte, esto lo ayudará a identificar si el problema realmente se debe a que su cargador de clases no encuentra el archivo de configuración log4j2 u otra cosa en su configuración.

Actualizar

También puede usar la propiedad a continuación para cambiar el nivel predeterminado del registrador de estado para obtener más información:

-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=

tuve el mismo problema, pero noté que no tengo log4j2.xml en mi proyecto después de leer en la red sobre este problema, así que copié el código relacionado en un bloc de notas y revertí el archivo del bloc de notas a xml y lo agregué a mi proyecto bajo el carpeta de recursos. esto funciona para mi.





  




  



Comentarios y valoraciones

Puedes añadir valor a nuestro contenido informacional colaborando tu veteranía en las ilustraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *