Grails 如何使用';附录参考号';在圣杯2中?
使用Grails config DSL,如何配置appender上的appender ref属性 我试图将log4j.xml从perf4j转换为Grails配置DSL(grails2.x) 在我试图模拟的log4j.xml文件中,有这样一个片段: log4j.xmlGrails 如何使用';附录参考号';在圣杯2中?,grails,logging,log4j,config,perf4j,Grails,Logging,Log4j,Config,Perf4j,使用Grails config DSL,如何配置appender上的appender ref属性 我试图将log4j.xml从perf4j转换为Grails配置DSL(grails2.x) 在我试图模拟的log4j.xml文件中,有这样一个片段: log4j.xml <appender name="CoalescingStatistics" class="org.perf4j.log4j.AsyncCoalescingStatisticsAppender">
<appender name="CoalescingStatistics"
class="org.perf4j.log4j.AsyncCoalescingStatisticsAppender">
<param name="TimeSlice" value="10000"/>
<appender-ref ref="fileAppender"/>
</appender>
其他详细信息
下面是我模仿的log4j.xml源代码:
我能够用一些Groovy魔法使它工作:
log4j = {
appenders {
//...regular appenders
//perf4j appenders
Appender perfLogFileAppender = delegate.rollingFile name: "perfLogFileAppender", file: "perfStats.log", layout: new PatternLayout("%m%n")
def statsAppender = new AsyncCoalescingStatisticsAppender(name: "coalescingStatsAppender", timeSlice:
10000)
statsAppender.addAppender(perfLogFileAppender)
appender statsAppender
}
root {
error 'stdout', 'rollingFileAppender'
}
info additivity: false, coalescingStatsAppender: [StopWatch.DEFAULT_LOGGER_NAME]
}
更优雅的解决方案总是受欢迎的。我能够通过一些Groovy魔法使其工作:
log4j = {
appenders {
//...regular appenders
//perf4j appenders
Appender perfLogFileAppender = delegate.rollingFile name: "perfLogFileAppender", file: "perfStats.log", layout: new PatternLayout("%m%n")
def statsAppender = new AsyncCoalescingStatisticsAppender(name: "coalescingStatsAppender", timeSlice:
10000)
statsAppender.addAppender(perfLogFileAppender)
appender statsAppender
}
root {
error 'stdout', 'rollingFileAppender'
}
info additivity: false, coalescingStatsAppender: [StopWatch.DEFAULT_LOGGER_NAME]
}
更优雅的解决方案总是受欢迎的