当我在我的生产服务器上部署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'
}
答案 0 :(得分:2)
只需修改您的配置:
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'
}
答案 1 :(得分:1)
无法解决您当前的问题,但我建议您更改rollingFile属性。当前设置只会提供1kb的文件,而不是自己写的。
尝试:
rollingFile name:'catalinaOut', maxFileSize:${10*1024*1024},maxBackupIndex:100,fileName:"/var/log/tomcat5/catalina.out"
这将为您提供100个10MB文件或大约一个价值的日志。