現在很多開源項目在使用LOG的時候做了不好的示范--在基類中實例化的方式使用LOG,而不是靜態(tài)變量。
例如:
class Base {
private final Log LOG = LogFactory.getLog(this.getClass());
}
class Derived {
public void foo() {
if (LOG.isDebugEnabled()) LOG.debug("foo");
}
}
這種用法,當類被繼承的時候,LOG就完全亂了。spring、struts都有這樣的問題。
正確的使用方式應該是直接靜態(tài)化聲明LOG。
例如:
class DerivedA {
private final static Log LOG = LogFactory.getLog(DerivedA.class);
}
--------------------------
盛大招聘.Net開發(fā)工程師
經典好書:.NET框架程序設計(修訂版)
新聞:
2008年最精彩科技圖片:電流運動模擬圖居首
導航:
博客園首頁 知識庫 新聞 招聘 社區(qū) 小組 博問 網摘 找找看
文章來源:
http://www.cnblogs.com/jobs/archive/2009/01/05/1368894.html