In Grails 1.1 the Log4j configuration has changed, because now a Log4j DSL is used. If we don't define a log4j closure in our Config.groovy
we get a default configuration. The default configuration looks likes this if we had to define it as a closure:
log4j = { appenders { console name: 'stdout', layout: pattern(conversionPattern:'%d [%t] %-5p %c{2} %x - %m%n') file name: 'stackTraceLog', layout: pattern(conversionPattern:'%d [%t] %-5p %c{2} %x - %m%n'), file: 'stacktrace.log' } error 'org.springframework', 'org.hibernate' error stackTraceLog: 'StackTrace' root { error 'stdout' } }
So we automatically get a console appender for root log level ERROR. And a file appender for the StackTrace logger with log level ERROR. Remember we don't have to define this closure, we can leave out the log4j closure to get these defaults.