<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    空間站

    北極心空

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

    擴充Log4j日志級別的方法

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

    2:把這些繼承Level的子類歸到一個接口中,便于統一調用
    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)等方法,在方法中調用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)配置你需要的日志級別,然后在你的寫日志的代碼中如此調用即可:
    .....
    Mylogger loger = new MyLogger();
    loger.serious("嚴重錯誤!");
    ......
    posted on 2008-06-23 09:23 蘆葦 閱讀(8215) 評論(1)  編輯  收藏 所屬分類: JAVA其他

    Feedback

    # re: 擴充Log4j日志級別的方法 2012-02-24 17:17 2
    2  回復  更多評論
      

    主站蜘蛛池模板: 亚洲成av人无码亚洲成av人| 亚洲黄色在线观看| 亚洲AV无码XXX麻豆艾秋| 扒开双腿猛进入爽爽免费视频| 亚洲视屏在线观看| 性短视频在线观看免费不卡流畅| 亚洲激情黄色小说| 两性刺激生活片免费视频| 亚洲免费在线观看视频| 最近免费中文字幕4| 亚洲AV无码AV日韩AV网站| 日产国产精品亚洲系列| 一级毛片一级毛片免费毛片| 亚洲香蕉成人AV网站在线观看| 日韩精品无码免费专区网站 | 一区二区三区免费在线视频| 亚洲精品456播放| 两个人看的www免费视频| 亚洲AV日韩精品久久久久久久 | 伊伊人成亚洲综合人网7777| 在线观看免费无码视频| 久久夜色精品国产噜噜噜亚洲AV| 91福利视频免费| 亚洲中文字幕日本无线码| 国产精品久久香蕉免费播放| 一级免费黄色大片| 久久久久久亚洲av成人无码国产 | vvvv99日韩精品亚洲| 久久久受www免费人成| 久久亚洲中文字幕精品有坂深雪| 18禁超污无遮挡无码免费网站国产| 久久久久久亚洲av无码蜜芽| 亚洲中文久久精品无码ww16| 亚洲人成免费电影| 色偷偷亚洲男人天堂| 久久亚洲综合色一区二区三区| 99久久99这里只有免费费精品| 国产成人综合亚洲一区| 亚洲短视频男人的影院| 日日夜夜精品免费视频| 日韩视频在线观看免费|