Groovy includes/wraps Log4j so I thought it would be easy. All the documentation I found suggested it would be easy.
However all the examples left off one key thing: Defining the 'root' logger.
So, in your Config.groovy, find the log4j section and add/uncomment:
appenders {
console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
}
Then add below the standard error and warn items:
root {
info 'console'
}
Now in your code you can add 'log.info 'blah blah' and it will appear on the console. The 'appenders' section is where you can add your rolling file loggers for production.
Here is what mine looks like:
// log4j configuration
log4j = {
// Example of changing the log pattern for the default console
// appender:
//
appenders {
console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
}
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'
root {
info 'console'
}