example - log4j spring boot
Dónde ubicar log4j.xml (5)
¿Cómo podemos especificar si log4j tiene que mirar al intentar encontrar su archivo de configuración xml?
Parece que, de forma predeterminada, log4j busca en la raíz de una carpeta de clase, puedo decir que usando la funcionalidad de depuración log4j y ejecutando mi aplicación desde el IDE.
Sin embargo, ya no tengo ninguna carpeta de clases en mi jar. Y el archivo log4j.xml está en la raíz del contenedor.
Ya he intentado configurar la opción -Dlog4j.configuration = log4j.xml pero no funciona.
Aquí está la estructura global de mi aplicación en este momento:
- com
- lib
- meta-inf
- log4j.xml
No tengo ningún error
Entonces, log4j está buscando su configuración, de lo contrario, obtendría:
log4j: WARN No se encontraron appenders para logger ().
log4j: WARN Inicialice el sistema log4j correctamente.
También:
El registro se acaba de imprimir en la consola
Eso significa que probablemente necesite definir un FileAppender archivo, como FileAppender o FileAppender . La sección "Configuración" en la introducción corta tiene algunos ejemplos.
Encuentra el log4j.xml usando CLASSPATH. Si log4j no encuentra ningún archivo de configuración, enviará un error a la consola. Si no ve ningún error de este tipo, es probable que encuentre un archivo de configuración que puede no ser el que está editando. Existe una opción de línea de comando para obligar a Log4J a informar la ruta del archivo de configuración que está utilizando.
Desde http://wiki.apache.org/logging-log4j/Log4jConfigurationHelp
Si ejecuta con "-Dlog4j.debug", entonces log4j imprimirá información en la salida estándar y le indicará cómo intenta configurarse. Al revisar eso, le indicará dónde está buscando el archivo de configuración.
No te preocupes por dónde ponerlo. Simplemente ejecute su proyecto, digamos en eclipse, log4j emitirá una excepción, indicándole dónde estaba buscando. Entonces puedes ponerlo allí.
Una vez que lo hagas funcionar, también descubrirás cómo cambiar eso, a medida que comprendas la lógica.
Puedes usar:
DOMConfigurator.configure(log4jConfigurationFilename);
y especifique la ubicación si es diferente de la raíz!
Supongamos que su configuración log4j está fuera del árbol fuente. Si no puede encontrar su archivo de configuración, ayúdelo con:
-Dlog4j.configuration=file:///your/path/log4j.xml
Tenga en cuenta el archivo calificador : /// . No funcionará sin.