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

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

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

    每日一得

    不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
    最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
    本站的官方站點(diǎn)是:顛覆軟件

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks
    key words: commons log,log4j,apache log

    前言: 對于log4j雖然在用,但是也存在一個疑問,怎么有的用apache的commons logging有的直接用log4j,下面的這篇文章解釋了我的疑問.

    轉(zhuǎn)自 here

    Apache組織開發(fā)了一套用于支持Logging的Log4J,Java?1.4版本也引入了一套內(nèi)置的 Logging框架,如果開發(fā)者想在這兩套Logging系統(tǒng)之間自由的切換,該怎么辦呢?答案就是,使用Commons?Logging。 Commons?Logging定義了一套抽象的Logging接口,用戶可以通過配置,使這些接口指向任何一個已存在的Logging系統(tǒng)。

    ?使用抽象Logging接口
    問題:
    你在編寫一個可以重復(fù)使用的庫,需要寫入Log信息,但你不想使你的Logging功能綁定在Apache?Log4J或者JDK?1.4?Logging框架上。
    解決方案:

    public?static?void?main(String[]?args)?{//自己替換[]

    ??System.setProperty("org.apache.commons.logging.Log",
    ??????"org.apache.commons.logging.impl.Jdk14Logger");
    ??Log?log?=?LogFactory.getLog("com.discursive.jccook.SomeApp");

    ??if?(log.isTraceEnabled())?{
    ????log.trace("This?is?a?trace?message");
    ??}

    ??if?(log.isDebugEnabled())?{
    ????log.debug("This?is?a?debug?message");
    ??}

    ??log.info("This?is?an?informational?message");
    ??log.warn("This?is?a?warning");
    ??log.error("This?is?an?error");
    ??log.fatal("This?is?fatal");

    }


    LogFactory.getLog方法會根據(jù)底層環(huán)境返回一個適當(dāng)?shù)腖og實(shí)現(xiàn)。如果用戶想指定一個具體的Logging系統(tǒng)實(shí)現(xiàn),可以設(shè)置org.apache.commons.logging.Log系統(tǒng)屬性。例如:
    System.setProperty("org.apache.commons.logging.Log",
    "org.apache.commons.logging.impl.Log4JLogger");
    這樣就會使用Log4J作為Logging系統(tǒng)。
    org.apache.commons.logging.Log可以設(shè)定為:
    ?org.apache.commons.logging.impl.Log4JLogger??使用Log4J
    ?org.apache.commons.logging.impl.Jdk14Logger??使用JDK?1.4?Logging框架
    ?org.apache.commons.logging.impl.SimpleLog??使用Commons?Logging內(nèi)置的簡單Log實(shí)現(xiàn)
    其他:
    總結(jié)一下,Commons?Logging會按照下列順序來指定具體的Log實(shí)現(xiàn)。
    ?如果定義了org.apache.commons.logging.Log系統(tǒng)參數(shù),實(shí)用指定的Logging實(shí)現(xiàn)。
    ?如果在CLASSPATH里發(fā)現(xiàn)了Log4J,使用Log4J。
    ?如果使用的是JDK1.4,使用JDK1.4內(nèi)置的Logging框架。
    ?如果都沒有找到,則使用Commons?Logging內(nèi)置的簡單Log實(shí)現(xiàn)。
    posted on 2006-12-18 15:38 Alex 閱讀(714) 評論(0)  編輯  收藏 所屬分類: 開源產(chǎn)品

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产区在线免费观看| 一级特黄a大片免费| 亚洲国产成人无码AV在线| 欧美亚洲国产SUV| 一级一级毛片免费播放| 免费无码H肉动漫在线观看麻豆| 久久成人免费电影| 亚洲AV人无码激艳猛片| 亚洲另类激情综合偷自拍图| 亚洲国产一级在线观看| 久久香蕉国产线看观看亚洲片| 亚洲三级在线播放| 精品特级一级毛片免费观看| 免费人成激情视频在线观看冫 | 99热这里只有精品6免费| 美女网站免费福利视频| 在线永久免费的视频草莓| 久久国产免费观看精品3| 成年女人免费视频播放体验区| 99久久免费国产精品特黄| 免费一区二区视频| 亚洲综合在线视频| 亚洲国产品综合人成综合网站| 亚洲最大视频网站| 色拍自拍亚洲综合图区| 亚洲大尺度无码无码专区| 亚洲国产精品午夜电影| 日本高清不卡中文字幕免费| 1a级毛片免费观看| 亚洲国产一区二区视频网站| 亚洲熟妇av一区| 亚洲国产成AV人天堂无码| 在线播放亚洲精品| 久久福利青草精品资源站免费| 成人免费看黄20分钟| 亚洲AV综合色一区二区三区| 亚洲成a人片在线不卡一二三区| 国产精品免费无遮挡无码永久视频| 日本午夜免费福利视频| 久久久久亚洲av无码专区导航| 特级aaaaaaaaa毛片免费视频|