Tengo la siguiente configuración de log4j en mis Grails 1.1 aplicaciónninguna salida log4j en Grails aplicación
log4j = {
// Enable Hibernate SQL logging with param values
trace 'org.hibernate.type'
debug 'org.hibernate.SQL'
debug 'com.mycompany'
appenders {
console name: 'stdout', layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %c{1} - %m%n')
file name: 'hibeFile', file: 'hibe.log', layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %c{1} - %m%n')
}
// By default, messages are logged at the error level to both the console and hibe.log
root {
error 'stdout', 'hibeFile'
additivity = true
}
}
Cuando ejecuto pruebas de unidad, la única salida de registro es generada a partir de las clases de Hibernate. No entiendo por qué no se genera ninguna salida de registro para mis propias clases, es decir, aquellas bajo el espacio de nombre com.mycompany
. Extrañamente, cuando ejecuto pruebas de integración, el resultado de log4j es el esperado.
Si voy al informe de prueba para una prueba de unidad, y haga clic en el enlace "System.out", veo mis mensajes de registro en el siguiente formato:
DEBUG (member.InviteServiceTests): Calling getInvite with member (4517)
Tenga en cuenta que este no es el mismo patrón que el que he especificado en mi configuración log4j. Por otra parte, si cambio de la configuración de log4j de:
debug 'com.mycompany'
a:
fatal 'com.mycompany'
sigo viendo Los mensajes de registro a nivel de depuración en el informe de la prueba. Parece que el registrador de raíz está siendo anulado cuando se ejecutan pruebas unitarias? He tratado de clases de registro bajo com.mycompany
usando un registrador por separado, pero esto no parece hacer ninguna diferencia
Gracias, Don