小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

擴(kuò)充Log4j日志級別的方法 - 空間站 - BlogJava

 燮羽 2010-11-14

我們的項目需要記不同類型,不同格式,不同級別的日志。一般來說很容易想到Log4j,的確用它來寫日志很方便,但是我們的項目對日志的需求有 一點超出了它本身的處理能力:log4j只有debug,info,warn,error四種級別定義,而我們的日志不只這四類,還有 serious,checkout等,如果直接用log4j的log.debug(),log.warn()....是不會寫諸如
serious:XXXX:20060708
checkout:xxxxx:20060708這種形式的日志內(nèi)容的
 
看了看資料,log4j的日志級別是通過Level類來實現(xiàn)的,log.warn(Object)實際調(diào)用的logger.log(Level,Object)方法
這樣就好辦了,寫一個類繼承Log4j的Level類,擴(kuò)充其日志級別,然后封裝log4j的logger類,在封裝的類中調(diào)用logger.log(擴(kuò)充的Level類,Object)就可以了,具體步驟如下:
 
1:寫一個類繼承Level,override父類的構(gòu)造函數(shù),比如我們需要Serious級別
private static class SeriousLevel extends Level {
       private SeriousLevel(int level, String name, int sysLogLevel) {
            super(level, name, sysLogLevel);
       }
 }

2:把這些繼承Level的子類歸到一個接口中,便于統(tǒng)一調(diào)用
public interface  MyLogLevel
{
   public static final Level SERIOUS_LEVEL = new SeriousLevel(Priority.ERROR_INT, "SERIOUS", SyslogAppender.LOG_LOCAL0);
   public static final Level ALARM_LEVEL = new AlarmLevel(Priority.DEBUG_INT + 50, "ALARM", SyslogAppender.LOG_LOCAL0);
  ......
   
}
Priority.ERROR_INT是log4j的級別定義,通過這個我們可以定義自己的級別的大小,比如上述ALARM_LEVEL就比SERIOUS_LEVEL日志級別要高50點

3:封裝Log4j的Logger,新增serious(Object) alarm(Object)等方法,在方法中調(diào)用Logger.log(Level,Object)來傳入我們自己的日志level
public class MyLogger{
 private Logger log ;
 .......
 
 
 public void serious(Object pm_objLogInfo)
 {
    log.loger(MyLogLevel.SERIOUS_LEVEL,pm_objLogInfo); 
   /*MyLogLevel接口中的所有自定義日志級別都繼承自Level*/
 }
 
 public void serious(Object pm_objLogInfo)
 {
    log.loger(MyLogLevel.ALARM_LEVEL,pm_objLogInfo);
 }
 ......
}
 
 
4:ok!這就搞定了,Log4j新增了Serious,Alarm等級別,在你的log4j.conf(or log4j.property)配置你需要的日志級別,然后在你的寫日志的代碼中如此調(diào)用即可:
.....
Mylogger loger = new MyLogger();
loger.serious("嚴(yán)重錯誤!");
......

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多