我在PCFDev中使用mysql部署2.3.5 Grails应用程序。在我的应用程序中点击一些URL,我得到一个500错误。当我使用cf logs my-sample
查看日志时,我只能看到访问日志。他们不显示我的堆栈跟踪。如何查看PCFDev中的Tomcat日志?
我怎样才能真正看到日志中的堆栈跟踪,以便我确切地知道是什么导致了错误?通常在Tomcat中部署应用程序时,我会在Tomcat的/logs
目录中看到这些日志。
这是我的config.groovy
看起来像我的grails应用程序。
def catalinaBase = System.properties.getProperty('catalina.base')
if (!catalinaBase) catalinaBase = '.' // just in case
def logDirectory = "${catalinaBase}/logs"
log4j = { root ->
appenders {
// console name: 'stdout', layout: pattern(conversionPattern: "%d [%t] %-5p %c %x - %m%n")
rollingFile name:'stdout', file:"${logDirectory}/my.log".toString(), maxFileSize:'100KB'
rollingFile name:'stacktrace', file:"${logDirectory}/my_stack.log".toString(), maxFileSize:'100KB'
}
warn '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'
debug 'com.aerstone.ldap', 'com.aerstone.scanner.helper'
root.level = org.apache.log4j.Level.INFO
}
CF是否为grails或spring启动应用程序提供了推荐的log4j设置示例? – Anthony
不幸的是,我不确定。 –
你快到了。您的控制台appender在上面的示例中注释掉了。取消注释并注释滚动文件appender。这应该会导致你的应用程序登录到STDOUT,当你运行'cf logs'时,它会显示出来。 –