我已经将grails 1.0.3应用程序升级为grails 1.1.1。我已经在config.groovy中升级了log4j配置,以符合
new DSL
.但是,在用PatternLayout定义了一个ConsoleAppender之后,应用程序将不会启动,而是抛出一个MissingMethodException,并显示以下消息:
groovy.lang.MissingMethodException: No signature of method: \
groovy.util.ConfigSlurper$_parse_closure5.pattern() is applicable \
for argument types: (java.util.LinkedHashMap) \
values: [[conversionPattern:%d{ISO8601} [%10.10t] [%18.18c] [%5p] - %m%n]]
(为了可读性,我把上面的消息分成多行)。
我的配置是:
environments {
development {
log4j {
appenders {
console name: 'myAppender',
layout: pattern(conversionPattern: '%d{ISO8601} [%10.10t] [%18.18c] [%5p] - %m%n')
...
}
root {
error 'myAppender'
additivity = true
}
error 'org.codehaus.groovy.grails.plugins',
'org.codehaus.groovy.grails.orm.hibernate',
...
}
...
}
我尝试过更改模式,为console()函数添加括号,但没有成功。
是什么导致了这个例外?