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

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

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

    guangnian0412's BLOG

    Java in my life

    常用鏈接

    統計

    積分與排名

    我關注的Blog

    最新評論

    [Commons Logging]使用一個抽象的Logging接口(From Jarkata Commons Cookbook 7.10)

    ?? (Jarkata 的 Commons Logging 包現在已經被用在幾乎所有的開源項目之中,它可以使你開發的系統工作在不同的日志框架下,包括Sun的logging框架和Apache Log4j?,F在Commons Logging + Apache Log4j 的身影是隨處可見,Commons Logging 的易用與Log4j的強大功能形成了絕配。)

    問題:
    ??? ? 你正在寫一個可重用的代碼庫,而你不知道你的代碼在哪里并且是如何工作的。你需要一個抽象的日志接口來寫入日志信息,因為你不能確定Log4j或者是JDK 1.4 logging的存在性。

    解決:
    ??????? 通過Jakarta Commons Logging 的Log 接口來記錄信息,然后依靠Commons Logging自身來決定在運行時使用哪種具體的日志框架。下面的代碼使用了Log接口來記錄trace,debug,info,warning,error和fatal信息:
    ?1?import?org.apache.commons.logging.LogFactory;
    ?2?import?org.apache.commons.logging.Log
    ?3?
    ?4?Log?log?=?LogFactory.getLog(?"com.discursive.jccook.SomeApp"?);?
    ?5?
    ?6?if(?log.isTraceEnabled(?)?)?{
    ?7?????log.trace(?"This?is?a?trace?message"?);
    ?8?}
    ?9?
    10?if(?log.isDebugEnabled(?)?)?{
    11?????log.debug(?"This?is?a?debug?message"?);
    12?}
    13?
    14?log.info(?"This?is?an?informational?message"?);
    15?
    16?log.warn(?"This?is?a?warning"?);
    17?
    18?log.error(?"This?is?an?error"?);
    19?
    20?log.fatal(?"This?is?fatal"?);
    ????? LogFactory.getInstance() 返回一個Log接口的具體實現,這個實現與底層具體的日志框架相對應。例如,如果你的系統是使用Apache Log4j ,一個Log4JLogger將被返回,對應于Log4J category
    com.discursive.jccook.SomeApp 。

    討論:
    ??????? 一個可重用代碼庫的開發者不能預知其代碼庫將在何時何地被用到,而現在有很多的日志框架可以使用,所以當開發可重用代碼庫的時候,使用Commons Logging 是非常明智的,例如Jakarta Commons 組件。當調用LogFactory.getInstance()方法的時候,Commons Logging 將通過系統屬性和classpath中的類庫來決定和管理適當的日志框架。對于一個小型可重用組件的開發者來說,進行日志記錄只需要調用Log接口。而配置底層日志框架的負擔,就轉移到使用其組件庫的開發者身上。

    參考:
    ??????? 7.11節詳細的說明了Commons Logging在運行時確定適當日志框架的算法。

    ????

    posted on 2006-04-24 18:32 guangnian 閱讀(826) 評論(0)  編輯  收藏 所屬分類: Jakarta Commons

    主站蜘蛛池模板: 中文字幕乱理片免费完整的| 亚洲AV一区二区三区四区| 国产精品无码免费专区午夜 | 5g影院5g天天爽永久免费影院| 亚洲Av综合色区无码专区桃色| 和老外3p爽粗大免费视频| 国产亚洲午夜高清国产拍精品| 精品一区二区三区无码免费直播| 免费人成在线观看视频播放| 一级毛片免费不卡| 亚洲V无码一区二区三区四区观看| 男的把j放进女人下面视频免费| 午夜亚洲国产理论秋霞| 久久w5ww成w人免费| 色偷偷亚洲女人天堂观看欧| 曰皮全部过程视频免费国产30分钟 | 男男gay做爽爽免费视频| 亚洲M码 欧洲S码SSS222| rh男男车车的车车免费网站 | 亚洲色欲久久久久综合网| a级精品九九九大片免费看| 亚洲邪恶天堂影院在线观看| 在线成人爽a毛片免费软件| 亚洲情A成黄在线观看动漫软件| 午夜免费福利网站| av片在线观看永久免费| 亚洲精品在线观看视频| 成人免费视频软件网站| 一级视频在线免费观看| 亚洲黄色在线网站| 国产男女猛烈无遮挡免费视频| 色播在线永久免费视频网站| 亚洲最大免费视频网| 免费午夜爽爽爽WWW视频十八禁 | 亚洲视频手机在线| 四虎影视精品永久免费| 午夜理伦剧场免费| 国产精品亚洲а∨天堂2021| 亚洲久本草在线中文字幕| 国产免费午夜a无码v视频| 一级毛片在线免费观看|