У меня есть несколько проблем с журналированием Grails во время теста [работает grails test-app, Grails 1.3.5]:
1
У меня есть некоторая отладка / информация для входа в системумое приложение, и оно отлично работает при запуске приложения [grails run-app].Однако, когда я хочу протестировать свое приложение, оно не записывается ни в файлы System.out / System.err, ни в файл appender.Как я могу включить это?
У меня есть строки log.debug () и log.info () в моих классах домена.в контроллерах и в классах, расположенных в src / groovy.
Когда я хотел включить ведение журнала во время теста, я просто скопировал настройки из своей среды разработки и изменил корневой логгер с info на debug:
appenders {
file name: 'file', file: 'mylog.log'
}
root {
debug 'stdout', 'file'
}
debug 'grails.app'
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate'
warn 'org.mortbay.log'
Как я уже говорил ранее.Все работает нормально, если я запускаю приложение в среде разработчика.Это только тест, в котором я не вижу свои журналы.
Здесь стоит кое-что упомянуть: я вижу свои строки log.info (), указанные в классах Test.
2 Я не могу указать log.отладка в тестовых классах.Я получаю исключение пропущенного метода при попытке сделать log.debug.log.info работает просто отлично.Как так?Я думал, что это такое же внедрение, как в контроллерах / доменах.
3 Вся информация, зарегистрированная в тестовых классах во время теста, отправляется в System.err вместо System.out.Grails даже использует конфигурацию log4j от Config.groovy?
Заранее спасибо, Кристиан