Некоторые вопросы о регистрации Grails и внешнем конфигурационном файле

У меня есть 2 проблемы с журналированием Grails и использованием внешнего файла конфигурации.
1. В папку src/groovy я помещаю класс A и хочу регистрировать события в некоторых методах, но я не могу использовать встроенный "logger", потому что этот класс находится вне области обслуживания и контроллера приложения Grails. Я пытаюсь использовать LogFactory.getLog("A.class"), но я не вижу ничего записанного из этой переменной журнала. Итак, как я могу заставить этот дополнительный регистратор записывать вход в тот же файл журнала, который создается по умолчанию? Или возможно ли повторно использовать встроенный регистратор, предоставленный Grails?
2. Я хочу разрешить пользователю переопределять некоторые параметры, которые будут использоваться в приложении, поэтому я создаю внешний файл конфигурации и создаю синтаксис содержимого файла, например, как Grails применяется к файлам ресурсов сообщений (код = значение). Так можно ли заставить Grails понимать этот файл и обращаться с ним как с другими файлами ресурсов сообщений? И как включить его в ресурс classpath приложения?
Спасибо вам большое!

1 ответ

Вот как добавить файл конфигурации в проект Grails.

Создать файл свойств myExternalProperties.groovy и поместите его в свой путь к классу (например, $TOMCAT_HOME/lib каталог).

Создать файл конфигурации grails-app/conf/MyConfig.groovy использовать внешние значения конфигурации (при необходимости). Вы не сможете использовать свойства, определенные в myExternalProperties.groovy в пределах grails-app/conf/Config.groovy,

редактировать grails-app/conf/Config.groovy, Раскомментируйте строки, определяющие grails.config.locations, и добавьте следующее:

grails.config.locations << "classpath:MyExternalProperties.groovy"
grails.config.locations << "classpath:MyConfig.groovy"

Добавьте следующее к scripts/Events.groovy (который, вероятно, должен быть создан).

 eventCompileEnd = {
     ant.copy(todir:classesDirPath) {
         fileset(file:"${basedir}/grails-app/conf/MyConfig.groovy")
     }
 }

Эта последняя часть очень важна.

Другие вопросы по тегам