У меня несколько проблем с журналированием Grails во время теста [запуск grails test-app, Grails 1.3.5]:
1
В моем приложении ведется журнал отладки / информации, и оно отлично работает при запуске приложения [grails run-app]. Однако, когда я хочу протестировать свое приложение, ни один из он записывается ни в файлы System.out / System.err, ни в файл appender. Как я могу его включить?
У меня есть строки log.debug () и log.info () в моем доменные классы. в контроллерах и в классах, расположенных в src / groovy.
Когда я хотел включить ведение журнала во время теста, я просто скопировал настройки из моей среды разработки и изменил корневое средство ведения журнала с информации на отладку:
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 (), указанные в тестовых классах.
2 Я не могу указать log.debug в тестовых классах.При попытке выполнить log.debug я получаю исключение из-за отсутствия метода. log.info работает нормально. Как придешь? Я думал, что это такая же инъекция, что и внутри контроллеров / доменов.
3 Вся информация, зарегистрированная в тестовых классах во время тестирования, отправляется в System.err вместо System.out. Использует ли grails конфигурацию log4j из Config.groovy?
Спасибо заранее, Кристиан