Perf4j整合Logback

Perf4j 是一个性能分析和监控组件,用于替代:

long start = System.currentTimeMillis();
// do someting
log.info("ms for block n was: " + (System.currentTimeMillis() - start));
并提供统计和分析功能,输出优美的统计结果,并能结合Google Char、JMX、Servlet、 annotation 等高级玩意。

 

使用也很简单:

StopWatch stopWatch = new Slf4JStopWatch("mytag1");
// do someting
stopWatch .stop();
 

当前(0.9.13)只提供了基于log4j的配置,我用logback,幸好有人已经提供了logback的实现 ,发挥拿来主义精神。

 

logback.xml的配置:

<!--统计记录输出文件-->
<appender name="perf4jFile" class="ch.qos.logback.core.FileAppender">
	<file>pref.log</file>
	<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
		<pattern>%m%n</pattern>
	</encoder>
</appender>

<!--获取所有的StopWatch 信息并处理-->
<appender name="perf4j" timeSlice="1000" class="xx.showcase.perf4j.Slf4JAsyncCoalescingStatisticsAppender">
	<!--时间间隔-->
	<param name="timeSlice" value="1000" />
	<appender-ref ref="perf4jFile"/>
</appender>

<!--org.perf4j.TimingLogger是StopWathc的日志名,additivity false表示只写到perf4j文件-->
<logger name="org.perf4j.TimingLogger" additivity="false">
	<level value="INFO" />
	<appender-ref ref="perf4j" />
</logger>

 此配置和xml的log4j配置几乎是一致的。

 

程序定时会把统计结果写到文件中,Over!

 

参考:

http://perf4j.codehaus.org/devguide.html

http://www.infoq.com/cn/articles/perf4j

http://www.insaneprogramming.be/?p=242

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值