浪跡天涯
          web報表設計器....
          posts - 61,comments - 71,trackbacks - 0

                                                                                                  系統日志的處理
          在應用程序中添加日志記錄總的來說基于三個目的:監視代碼中變量的變化情況,周期性的記錄到文件中供其他應用進行統計分析工作;跟蹤代碼運行時軌跡,作為日后審計的依據;擔當集成開發環境中的調試器的作用,向文件或控制臺打印代碼的調試信息。
          最普通的做法就是在代碼中嵌入許多的打印語句,這些打印語句可以輸出到控制臺或文件中,比較好的做法就是構造一個日志操作類來封裝此類操作,而不是讓一系列的打印語句充斥了代碼的主體。
          Log4j是Apache的一個開放源代碼項目,通過使用Log4j,我們可以控制日志信息輸送的目的地是控制臺、文件、GUI組件、甚至是套接口服務 器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,我們能夠更加細致地控制日志的生成過程。最令人感興趣的就 是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼。
                                                                                            日志的級別
          每條輸出的日志請求(logging request)也都有一個level,如果該request的level大于等于該 level,則該request將被處理(稱為enabled);否則該request將被忽略。故可得知:

             1. logger的level越低,表示該logger越詳細
             2. logging request的level越高,表示該logging request越優先輸出

          Level類中預定義了五個level,它們的大小關系如下:
          Level.DEBUG < Level.INFO < Level.WARN < Level.ERROR < Level.FATAL

                                                                                在代碼中打印日志
          第一步是取得LOG,LOG采用APACHE的COMMON-LOGGING包來獲得。
          protected static Log log = LogFactory.getLog(XXX.class);

          第二步就是LOG的輸出,LOG輸出只需要填寫描述性文字,不要在LOG輸出中包含任何類名,時間,日志級別等信息。輸出LOG時必須檢測當前LOG的輸出配置情況。
          if (log.isDebugEnabled()) {
                      log.debug("Initializing module path '" + config.getPrefix() +
                          "' data sources");
          }

                                                                  修改LOG配置文件,打印自己模塊的LOG
          在系統的configs目錄下,已經有了缺省的LOG4J配置文件log4j.properties。
          缺省配置下包括了打印IBATIS和JDBC執行情況
          # JDBC logging configuration...
          log4j.logger.com.ibatis=DEBUG
          log4j.logger.java.sql=DEBUG
          log4j.logger.org.springframework.jdbc.core=DEBUG

          如果想記錄自己的開發類的日志,可以簡單的增加一行
          log4j.logger.com.spsoft.sample.service=DEBUG
          log4j.logger.com.spsoft.sample.service.dao.SampleDao=INFO
          com.spsoft.sample.service是包名,當然也可以直接指定類名。

          posted on 2007-05-24 09:23 JJCEA 閱讀(1436) 評論(0)  編輯  收藏 所屬分類: java日記
          主站蜘蛛池模板: 华蓥市| 门源| 普安县| 吐鲁番市| 怀集县| 腾冲县| 东乡县| 江源县| 渝北区| 武胜县| 紫阳县| 根河市| 洪洞县| 衢州市| 西昌市| 万盛区| 郁南县| 凤山县| 河津市| 日土县| 裕民县| 楚雄市| 德令哈市| 略阳县| 西和县| 金川县| 兴城市| 镇坪县| 鄂托克旗| 木里| 治县。| 呼和浩特市| 会理县| 宝坻区| 饶平县| 涞水县| 介休市| 鸡西市| 淄博市| 监利县| 阿勒泰市|