我正在使用Groovy和Log4J。 我不是Log4J专家,但在搜索了许多网站后,我认为我的配置应该在“Config.groovy”文件中有用。
结果如下: 我得到控制台记录。 但是,名为“project.log”和“StackTrace.log”的日志文件为空。 我还得到另一个名为“StackTrace.log.1”的文件(大小为2KB),其中包含在运行应用程序后发布的异常消息(非严重错误)。
问题: 为什么我没有在“project.log”和“StackTrace.log”文件中获取日志消息? 为什么创建并编写名为“StackTrace.log.1”的文件而不是将堆栈跟踪消息记录到“StackTrace.log”文件中?
对于我所做错的任何帮助或线索将不胜感激。
这是我的“Config.groovy”文件(log4j部分):
// log4j configuration
log4j = {
// Set default level for all, unless overridden below.
root { debug 'stdout', 'file' }
// Set level for all application artifacts
info "grails.app"
error "org.hibernate.SQL", "org.hibernate.type"
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'
appenders {
rollingFile name: 'file', file:'project.log', maxFileSize:1024, append: true
rollingFile name: 'stacktrace', file: "StackTrace.log", maxFileSize: 1024, append: true
}
}
答案 0 :(得分:0)
是否可能已创建StackTrace.log.1
,因为已达到maxFileSize
的{{1}},然后是1024
?
我还首先删除那里列出的所有类名,以便rollingFile
闭包中定义的debug
错误级别应用于所有记录器并从那里开始工作。