2011-04-10 18 views
6

Cuando desarrollo una aplicación en IDEA, ¿dónde debo colocar logback.xml para que tenga un efecto en la aplicación?logback.xml y aplicación en ejecución de JetBrains IDEA IDE

Parece que cuando ejecuta/depura IDEA no crea ningún jarrón y no invoca a Maven para construir algo. Ejecuta main() directamente desde el archivo * .class compilado? Si es así, ¿dónde puedo poner logback.xml para que tenga efecto?

Respuesta

15

logback.xml debe estar disponible en el directorio raíz de su CLASSPATH. Cuando ejecuta su aplicación, la CLASSPATH completa se imprime desde el principio. Cuando puse logback.xml en /src/main/resources (proyecto Maven) funciona sin ningún problema. También ponerlo en /src/test/resources con logback-test.xml nombre tiene presencia.

simplemente ejecute:

getClass().getClassLoader().getResource("/logback.xml"); 

y ver si vuelve algo o null.

Si usted no está trabajando con el proyecto Maven, abierta Estructura del proyecto (Ctrl + Alt + Shift + S) y agrega en Módulos la sección de selección de carpeta que contiene logback.xml y marcarla como Fuentes (icono azul).

+0

¡Muchas gracias! ¿Hay alguna manera de hacer que Maven coloque logback.xml al lado de jar, no dentro de él? –

+1

De forma predeterminada, si coloca cualquier archivo en el mismo directorio que el JAR, no se promocionará a CLASSPATH, por lo que Logback no verá allí 'logback.xml'. Pero claro, simplemente no lo coloque en '/ src/main/resources' (y cópielo manualmente donde desee). Si desea tener 'logback.xml' afuera para poder cambiar la configuración rápidamente, Logback admite leer las propiedades del entorno de fábrica, entre otras posibilidades. –

+1

¡Gracias por esto me consiguió iniciar sesión en Postgres! Después de que finalmente descubrí que mi archivo se llamaba backlog.xml y no logback.xml ¡jaja! – Kuberchaun

Cuestiones relacionadas