日志记录对tomcat 8中的Grails应用程序不起作用

时间:2015-02-26 17:40:33

标签: tomcat grails logging

Grails 2.4.4和Tomcat 8.0.20

log4j = {
appenders {
    rollingFile name:'w_file', file:"D:\\Program Files\\Apache Software Foundation\\Tomcat 8.0\\logs\\app.jog".toString(), maxFileSize:'10MB'
}

root {
    debug 'stdout', 'w_file'
}

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

}

我尝试过很多配置变种。这是最新的。 我通过命令行进行战争:grails war,我看到文件' app.jog'在目录' D:\ Program Files \ Apache Software Foundation \ Tomcat 8.0 \ logs'记录建筑物。 但是在将此战争部署到tomcat后,日志不会更新/创建,尽管应用程序正常运行。

1 个答案:

答案 0 :(得分:0)

使用 System.getProperty('catalina.base')提供路径。

它适用于我的设置:grails-2.4.3& tomcat 8.0.3

日志文件生成于:E:\ Dev \ Tools \ tomcat \ logs ([CATALINA_BASE] \ logs)

log4j.main = {
appenders {
    file name:'file', file: System.getProperty('catalina.base') + '/logs/analytics.log', layout:pattern(conversionPattern: '%d{HH:mm:ss.SSS} [%t] %-5p %c{5} - %m%n')
}

root {
    info 'file'
}

error  'org.codehaus.groovy.grails.web.servlet',        // controllers
       'org.codehaus.groovy.grails.web.pages',          // GSP
       'org.codehaus.groovy.grails.web.sitemesh',       // layouts
}