简化java logging 开发
在做java logging的时候,通常要求程序员判断当前logging的LEVEL,从而避免不必要的String对象的创建,例如以下代码。
if(log.isDebugEnabled()) {
log.debug("FOO: "+ foo +", BAR: "+ foo.getBar());
}
这样的代码的编写阅读都比较费力,在Java Tips: Simplify logging中作者提供的利用Java可变参数的logging方法感觉优雅了不少。
publicvoiddebug(Object... msgs) {
if(log.isDebugEnabled()) {
StringBuilder m =newStringBuilder();
for(Object o : msgs) {
m.append(o);
}
log.debug(m.toString());
}
}
参考资料
http://satukubik.com/2009/08/06/performance-measurement-for-debugging/
http://commons.apache.org/logging/guide.html#Best%20Practices%20%28General%29
分类: JAVA
