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

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

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

    log4j和common-logging結合使用

    Posted on 2006-07-06 17:31 負人博客 閱讀(2929) 評論(0)  編輯  收藏 所屬分類: 開源研究
    ???? 在我們的日常開發中,經常需要通過輸出一些信息進行程序的調試,如果到處都用system.out.println()則在項目發布之后要逐一刪除,而log4j提供了一種新的調試輸出機制以解決輸出的問題。log4j的原理是使用一個配置文件log4j.properties進行管理,在調試的時候可以把輸出級別調低,項目正式發布之后把級別調高,這樣以前的一些輸出就可以屏蔽了,不用到程序當中再進行逐一刪除。關于log4j的介紹網上很多,隨便google一下就可以順利的使用log4j了。在這里介紹一下log4j和common-logging的聯合使用,因為在很多框架當中都是結合了common-logging和log4j的應用。像spring之類的框架里面存在很多debug輸出,用common-logging可以很容易的打印輸出,以用于了解spring的運行機制!
    ?? 使用介紹:
    ?? 1.下載jar包:
    ?????? log4j-1.2.9.jar和commons-logging.jar
    ?? 2.在web目錄的classes下面添加兩個文件:commons-logging.properties和log4j.properties??????
    ????? log4j.properties(例子):
    ????????? ##LOGGERS##
    ???? ???? #define a logger
    ????????? log4j.rootLogger=INFO,console,file
    ????????? #log4j.rootLogger=DEBUG,console,file
    ????????? ##APPENDERS##
    ???????? #define an appender named console,which is set to be a ConsoleAppender
    ???????? log4j.appender.console=org.apache.log4j.ConsoleAppender
    ???????? #define an appender named file,which is set to be a RollingFileAppender
    ??? ???? log4j.appender.file=org.apache.log4j.RollingFileAppender
    ???????? log4j.appender.file.File=log-wst.txt
    ????? ?? ##LAYOUTS##
    ????? ?? #assign a SimpleLayout to console appender
    ???????? log4j.appender.console.layout=org.apache.log4j.SimpleLayout
    ???????? #assign a PatternLayout to file appender
    ???????? log4j.appender.file.layout=org.apache.log4j.PatternLayout
    ???????? log4j.appender.file.layout.ConversionPattern=%p - %m%n
    ?????
    ????? commons-logging.properties(例子)
    ????????? ##
    ????????? org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
    ?? 3.應用實例:
    ???? package com.wes.test;
    ???? import org.apache.commons.logging.Log;
    ???? import org.apache.commons.logging.LogFactory;
    ??? public abstract class BaseClass{
    ???????? /** 用于日志輸出 */
    ???????? protected Log log = LogFactory.getLog(this.getClass());
    ??? }
    ??? 這樣在子類中可以直接調用log輸出即可:
    ?? public class?DerivedClass extends BaseClass {
    ???????? pulbic void test() {
    ?????????????//如果log4j.properties文件配置的級別<=info則可以正常輸出(info/debug)?
    ??????????? log.info("這是info級別的輸出");???
    ?????????????//如果log4j.properties文件的級別為debug則可以正常輸出(debug)?
    ??????????? log.debug("這是debug級別的輸出");
    ???????? }
    ?? }

    ?


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


    網站導航:
     

    posts - 26, comments - 5, trackbacks - 0, articles - 8

    Copyright © 負人博客

    主站蜘蛛池模板: 国产午夜免费高清久久影院| 亚洲真人无码永久在线观看| 久久国产亚洲高清观看| 亚洲成年人电影在线观看| 中文无码亚洲精品字幕| 看全免费的一级毛片| 最近免费字幕中文大全| 久久99国产综合精品免费| 免费看黄视频网站| 国产91久久久久久久免费| 亚洲欧洲∨国产一区二区三区| 久久亚洲AV无码精品色午夜麻豆| 亚洲国产日韩视频观看| 黄色网址大全免费| 亚洲午夜免费视频| 无码少妇一区二区浪潮免费| 九月婷婷亚洲综合在线| 99ri精品国产亚洲| 亚洲AV日韩AV永久无码色欲 | 五月天网站亚洲小说| 亚洲人xxx日本人18| 国产精品自拍亚洲| 午夜影院免费观看| 四虎影在线永久免费观看| 亚洲AV人无码综合在线观看| 亚洲日本天堂在线| 最新久久免费视频| 免费高清小黄站在线观看| 国产亚洲av人片在线观看| 亚洲图片激情小说| 国产精品1024在线永久免费 | 日韩免费高清视频| 久久久青草青青亚洲国产免观| 亚洲一日韩欧美中文字幕在线| 成人毛片100免费观看| 久久不见久久见免费影院| 亚洲精品成人片在线播放| 亚洲人成日本在线观看| 国产在线精品观看免费观看| 九九九精品成人免费视频| 亚洲AV永久无码精品一百度影院|