我有一个简单的grails应用程序和一些登录控制器。但是,无论我如何配置日志记录,我都看不到我的应用程序日志消息(即使我可能被grails内部日志记录所淹没)。
// log4j configuration
log4j = {
// Example of changing the log pattern for the default console appender:
//
appenders {
console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
file name:'file', file:'C:\\Users\\C.Ross\\Logs\\Budget.log'
}
root {
warn 'file', 'stdout'
}
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',
'net.sf.ehcache.hibernate'
trace 'grails.app.controller'
}
我也试过
trace 'com.ross.budget'
和
root {
all 'file', 'stdout'
}
但是没有运气。即使其他所有内容都是日志记录,我也看不到来自我的应用的日志消息。我做错了什么?
package com.ross.budget
class BudgetController {
def index() {
redirect(action:"list")
}
def list() {
log.trace "Retrieving all budgets..."
[budgetList: Budget.all]
}
def add() {
log.trace "Calling add..."
}
def show(){
log.trace "Retrieving budget"
def budget = Budget.get(params.id)
[budget: budget]
}
def save(){
log.debug "Creating new budget"
def budget = new Budget(params)
budget.save()
redirect(action:"list")
}
def addLineItem(){
log.trace("Retrieving budget $params.id")
def budget = Budget.get(params.id)
log.trace("Creating line item from params")
def lineItem = new LineItem(params)
log.debug "Adding line item to budget"
budget.lineItems.add(lineItem)
log.trace "Saving budget"
budget.save()
log.trace("Redirecting to show ...")
redirect(action:"show", id:params.id)
}
}