log4j和common-logging結合使用

          Posted on 2006-07-06 17:31 負人博客 閱讀(2932) 評論(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 © 負人博客

          主站蜘蛛池模板: 华容县| 鸡西市| 买车| 柳林县| 读书| 闽侯县| 洪泽县| 塘沽区| 抚远县| 若尔盖县| 安溪县| 宜丰县| 界首市| 阳新县| 隆回县| 弥渡县| 渭源县| 潞城市| 大港区| 贵南县| 靖边县| 府谷县| 合江县| 沭阳县| 固阳县| 大姚县| 巢湖市| 前郭尔| 雅江县| 巨野县| 抚宁县| 正安县| 江西省| 甘肃省| 浠水县| 岚皋县| 布尔津县| 仁寿县| 平昌县| 页游| 双辽市|