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.