<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 負人博客 閱讀(2930) 評論(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 © 負人博客

    主站蜘蛛池模板: 国产精品久久久久久久久免费| 四虎影视永久在线精品免费| 欧洲人成在线免费| 亚洲毛片αv无线播放一区| 人碰人碰人成人免费视频| 亚洲高清免费视频| 国产精品偷伦视频免费观看了 | 十八禁在线观看视频播放免费| 精品亚洲一区二区三区在线播放 | 成人免费av一区二区三区| 亚洲第一区精品观看| 特a级免费高清黄色片| 久久久久亚洲精品无码网址 | 亚洲国产日韩在线视频| 免费精品一区二区三区第35 | 另类免费视频一区二区在线观看| 亚洲精品美女久久久久99| 午夜无码A级毛片免费视频| 亚洲色图古典武侠| 国产成人免费高清激情视频 | 国产国产人免费人成成免视频| 亚洲日韩一页精品发布| 污视频在线观看免费| 亚洲免费视频播放| 日本高清免费中文字幕不卡| 四虎精品免费永久免费视频| 亚洲AV永久纯肉无码精品动漫 | 无码国产精品一区二区免费虚拟VR| 国产亚洲精品VA片在线播放| 亚洲人成影院在线无码按摩店| 久艹视频在线免费观看| 亚洲国产午夜精品理论片| 国产免费啪嗒啪嗒视频看看| 你懂的免费在线观看| 亚洲人成网网址在线看| 国产无遮挡吃胸膜奶免费看| 精品一卡2卡三卡4卡免费视频| 久久久久精品国产亚洲AV无码| 亚洲精品无码99在线观看| 777成影片免费观看| 免费精品国产自产拍在线观看|