Я обновил приложение Grails 1.0.3 до Grails 1.1.1. Я обновил конфигурацию log4j в Config.groovy, чтобы соответствовать new DSL. Однако, после определения ConsoleAppender с PatternLayout, приложение не запускается, а вместо этого бросает MissingMethodException с сообщением:Grails 1.1.1 log4j DSL бросает MissingMethodException для конфигурации PatternLayout
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',
...
}
...
}
Я попытался изменить шаблон, добавляя скобки для функции консоли(), но без успеха. Что вызывает это исключение?
У меня была аналогичная проблема, но у моего log4j есть знак равенства ... это было после обновления от grails 2.0.1 до 2.2.2. – jonnybot