开发者

Translate Basic Config.groovy log4j DSL to external log4j.properties

开发者 https://www.devze.com 2023-01-03 19:22 出处:网络
The following is a basic log4j configuration inside Config.groovy using the log4j DSL with Grails 1.2, it works as expected (log all errors to the given file):

The following is a basic log4j configuration inside Config.groovy using the log4j DSL with Grails 1.2, it works as expected (log all errors to the given file):

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

    error 'grails.app'

    root {
        error 'file'
    }
}

How would one translate this into a prop开发者_Go百科erties style log4j configuration file? The following does not work:

log4j.rootLogger=ERROR, FA

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

log4j.logger.grails.app=ERROR, FA

I suspect it has something to do with the translation of error 'grails.app' but I really don't know. Also, the file doesn't even get created, whereas with the first DSL version, it gets created when the application starts.

If it makes any difference, the properties file is configured externally (However, using an external log4j.groovy file works fine):

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

All I really want is an external log4j properties file which logs all application exceptions to a file.


I believe the problem here is that your properties file is not being used to configure log4j. Including it via grails.config.locations simply won't work.

One option is to put log4j.properties on the classpath, for example directly in 'grails-app/conf'. Check whether that works, get the configuration right, and then check the log4j documentation to find out how you can specify an alternative location for the properties file. It probably involves setting a system property.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号