【问题标题】:Grails logging all to one fileGrails 将所有内容记录到一个文件中
【发布时间】:2010-02-05 19:21:57
【问题描述】:

当我将 grails 项目部署到我的生产服务器上时,我遇到了一个问题,我只能登录到 /var/log/tomcat5/catalina.out。这意味着我必须将包括堆栈跟踪在内的每个日志写入该文件。我已经尝试过其他示例,但它似乎不起作用我仍然收到错误“stacktrace.log 上的权限被拒绝”

这是我的 log4j 配置

log4j = {
    // Example of changing the log pattern for the default console
    // appender:
    //
    appender.stacktractLog = "org.apache.log4j.FileAppender"
    appender.'stacktraceLog.File'="/var/log/tomcat5/catalina.out"
    appenders {
        rollingFile name:'catalinaOut', maxFileSize:1024, fileName:"/var/log/tomcat5/catalina.out"
    }

    root {
        error 'catalinaOut'
        additivity = true
    }


    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'
}

【问题讨论】:

    标签: grails log4j


    【解决方案1】:

    只需修改你的配置:

    log4j = {
        // Example of changing the log pattern for the default console
        // appender:
        //
        appenders {
            rollingFile name:'catalinaOut', maxFileSize:1024, fileName:"/var/log/tomcat5/catalina.out"
    file name: 'stacktrace', file: "/var/log/tomcat5/catalina.out", layout: pattern(conversionPattern: '%c{2} %m%n')
        }
    
        root {
            error 'catalinaOut'
            additivity = true
        }
    
       error stacktrace: "StackTrace"
    
        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'
    }
    

    【讨论】:

      【解决方案2】:

      无法解决您当前的问题,但我建议您更改 rollingFile 属性。当前设置只会给出一个 1kb 的文件,它会覆盖它自己。

      尝试:

      rollingFile name:'catalinaOut', maxFileSize:${10*1024*1024},maxBackupIndex:100,fileName:"/var/log/tomcat5/catalina.out"

      这将为您提供 100 个 10MB 的文件或大约 1 gig 的日志。

      【讨论】:

        猜你喜欢
        • 2014-04-30
        • 1970-01-01
        • 1970-01-01
        • 2013-12-07
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 1970-01-01
        • 2015-04-17
        相关资源
        最近更新 更多