Перевести базовый Config.groovy log4j DSL на внешний log4j.properties - PullRequest
1 голос
/ 16 июня 2010

Ниже приведена базовая конфигурация log4j внутри Config.groovy с использованием log4j DSL с Grails 1.2, она работает как положено (записывает все ошибки в данный файл):

log4j = {
    appenders {
        file name:'file', file:"c:/error.log"
    }

    error 'grails.app'

    root {
        error 'file'
    }
}

Как можно перевести этов файл конфигурации log4j стиля свойств?Следующее не работает:

log4j.rootLogger=ERROR, FA

log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=C:/error.log

log4j.logger.grails.app=ERROR, FA

Я подозреваю, что это как-то связано с переводом error 'grails.app', но я действительно не знаю.Кроме того, файл даже не создается, тогда как с первой версией DSL он создается при запуске приложения.

Если это имеет какое-либо значение, файл свойств настраивается извне (однако, с использованием внешнегофайл log4j.groovy работает нормально):

grails.config.locations = ["file:${basedir}/extconf/log4j.properties"]

Все, что мне действительно нужно, - это внешний файл свойств log4j, в котором записываются все исключения приложения в файл.

1 Ответ

1 голос
/ 16 июня 2010

Я считаю, что проблема здесь в том, что ваш файл свойств не используется для настройки log4j. Включение через grails.config.locations просто не сработает.

Один из вариантов - поместить log4j.properties в classpath, например, непосредственно в 'grails-app / conf'. Проверьте, работает ли это, получите правильную конфигурацию, а затем проверьте документацию log4j, чтобы узнать, как можно указать альтернативное расположение для файла свойств. Возможно, это связано с установкой системного свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...