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后,日志不会更新/创建,尽管应用程序正常运行。
答案 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
}