【发布时间】:2016-01-30 18:54:57
【问题描述】:
我正在使用 Grails 2.2.4 和 log4j 以相当标准的方式配置 (http://grails-dev.blogspot.com/2012/09/setting-up-log4j-configuration-in.html),它运行良好(问题末尾的详细信息)。
我希望在单独的文件中获得有关具有特定类的对象发生的任何事情的完整信息,因此我希望能够执行configure log4j to log to custom file at runtime 之类的操作,但我不知道该怎么做这在 grails 中。做类似的事情会很棒
package com.mydomain.service
import org.apache.commons.logging.LogFactory
class SampleService {
private static final log = LogFactory.getLog(this)
def index(Long id) {
log.setFileName("object-${id}.log")
log.info("The log message.")
}
}
(我知道方法 setFileName 不存在;我说的是一般方法)有可能吗?
如果可能的话,您能告诉我有关性能的任何信息吗?每天记录大约 500 个(
提前致谢。
我的 log4j 配置:
在代码中我记录如下消息:
package com.mydomain.service
import org.apache.commons.logging.LogFactory
class SampleService {
private static final log = LogFactory.getLog(this)
def index() {
log.info("The log message.")
}
}
配置文件包含
log4j = {
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.springframework',
'org.hibernate',
'groovyx.net.http'
all 'myApp'
}
【问题讨论】: