Groovy和Log4J Config.groovy配置

时间:2012-02-18 04:15:27

标签: groovy log4j

我正在使用Groovy和Log4J。 我不是Log4J专家,但在搜索了许多网站后,我认为我的配置应该在“Config.groovy”文件中有用。

结果如下: 我得到控制台记录。 但是,名为“project.log”和“StackTrace.log”的日志文件为空。 我还得到另一个名为“StackTrace.log.1”的文件(大小为2KB),其中包含在运行应用程序后发布的异常消息(非严重错误)。

问题: 为什么我没有在“project.log”和“StackTrace.log”文件中获取日志消息? 为什么创建并编写名为“StackTrace.log.1”的文件而不是将堆栈跟踪消息记录到“StackTrace.log”文件中?

对于我所做错的任何帮助或线索将不胜感激。

这是我的“Config.groovy”文件(log4j部分):

// log4j configuration
log4j = {

    // Set default level for all, unless overridden below.
    root { debug 'stdout', 'file' }

    // Set level for all application artifacts
    info "grails.app"

    error "org.hibernate.SQL", "org.hibernate.type"

    error  'org.codehaus.groovy.grails.web.servlet',  //  controllers
           'org.codehaus.groovy.grails.web.pages', //  GSP
           'org.codehaus.groovy.grails.web.sitemesh', //  layouts
           'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
           'org.codehaus.groovy.grails.web.mapping', // URL mapping
           'org.codehaus.groovy.grails.commons', // core / classloading
           'org.codehaus.groovy.grails.plugins', // plugins
           'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
           'org.springframework',
           'org.hibernate',
           'net.sf.ehcache.hibernate'

    warn   'org.mortbay.log'

    appenders {
        rollingFile  name: 'file', file:'project.log', maxFileSize:1024, append: true
        rollingFile name: 'stacktrace', file: "StackTrace.log", maxFileSize: 1024, append: true
    }
}

1 个答案:

答案 0 :(得分:0)

是否可能已创建StackTrace.log.1,因为已达到maxFileSize的{​​{1}},然后是1024

我还首先删除那里列出的所有类名,以便rollingFile闭包中定义的debug错误级别应用于所有记录器并从那里开始工作。