Некоторые вопросы о регистрации Grails и внешнем конфигурационном файле - PullRequest
0 голосов
/ 22 марта 2012

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

1 Ответ

0 голосов
/ 23 марта 2012

Вот как добавить файл конфигурации в проект 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")
     }
 }

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

...