把困難踩在腳下

          迎難而上

           

          log4j的簡單應用

          當程序有錯誤時,我們就需要找出錯誤的地方并進行驗證,怎樣才能準確快速的找到出錯的地方呢,那就是在程序運行時在控制臺上輸出相關的信息,從而可以判斷程序的運行順序以及出錯的位置。以前總是習慣使用System.out.println();進行信息輸出,現在老師介紹了另一種輸出日志的方法,那就是log4j。

          下面對log4j進行簡單介紹:Log4j中有三個主要的組件,它們分別是 Logger、Appender和Layout。1.Appender則是用來指明將所有的log信息存放到什么地方,Log4j中支持多種appender,如 console、files、GUI components、NT Event Loggers等,一個Logger可以擁有多個Appender,也就是你既可以將Log信息輸出到屏幕,同時存儲到一個文件中。2.Layout的作用是控制Log信息的輸出方式,也就是格式化輸出的信息。3.Log4j中將要輸出的Log信息定義了5種級別,依次是FATAL、ERROR、WARN、INFO、DEBUG,當輸出時,只有級別高過配置文件中規定的級別信息才能真正的輸出。Log4j支持兩 種格式的配置文件:XML格式和Java的property格式。

          看一個demo:新建一個Log4jDemo的javaWeb工程,建一個Demo1.java

          代碼如下:

           

          package com.dr.demo1; 

          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse; 

          import org.apache.log4j.Logger; 

          public class Demo1 extends HttpServlet{
              
          private static Logger log = Logger.getLogger(Demo1.class);
              
          public void doGet(HttpServletRequest request,HttpServletResponse response){
                  log.info(
          "welcome to log4j demo!");
              }
           

          }
           

          在web.xml中進行配置,代碼如下:

              

          <servlet>
                  
          <servlet-name>demo</servlet-name>
                  
          <servlet-class>com.dr.demo1.Demo1</servlet-class>
              
          </servlet>
              
          <servlet-mapping>
                  
          <servlet-name>demo</servlet-name>
                  
          <url-pattern>/demo</url-pattern>
              
          </servlet-mapping> 

          導入log4j.jar和log4j.propertie配置文件,配置文件代碼如下:

          #級別由高到低依次是:fatal、error、warn、info、debug
          log4j.rootLogger=INFO,R,stdout
          #debug 無法打印
          #log4j.rootLogger=ERROR,R,stdout
          #debug/infor/warn 無法打印
          #log4j.rootLogger=DEBUG,R,stdout
          #都可以打印
          #log4j.rootLogger=warn,R,stdout
          #info/debug無法打印
          #log4j.rootLogger=fatal,R,stdout
          #都不可以打印               
          #log4j.logger.com.cmcc=DEBUG

          log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
          #   日志信息存放的文件位置
          log4j.appender.R.File = ${catalina.home}/logs/fetionwapim.log
          log4j.appender.R.DatePattern = yyyy-MM-dd'.log'
          log4j.appender.R.layout=org.apache.log4j.PatternLayout
          log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

          log4j.appender.stdout=org.apache.log4j.ConsoleAppender
          log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
          log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

          #   %r           自程序開始后消耗的毫秒數
          #   %t           表示日志記錄請求生成的線程
          #   %p           表示日專語句的優先級
          #   %r           與日志請求相關的類別名稱
          #   %c           日志信息所在的類名
          #   %m%n         表示日志信息的內容

          有關代碼的說明已經在配置文件中說了,在此就不再多做說明。

          在瀏覽器中輸入訪問地址,在控制臺上就會打印出信息:

          2011-01-18 14:52:39,531 [http-8080-1] [com.dr.demo1.Demo1] [INFO] - welcome to log4j demo!

          就到這吧,有不對的地方希望各位大蝦不吝賜教!

          posted on 2011-01-18 14:54 馮魁 閱讀(1647) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          公告

          快樂每一天!

          Everything is an object!

          常用鏈接

          留言簿(2)

          隨筆檔案

          學習網站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 云南省| 九龙县| 阿鲁科尔沁旗| 大方县| 海宁市| 合川市| 常德市| 富宁县| 竹山县| 农安县| 陇南市| 肃北| 久治县| 钟祥市| 固安县| 内乡县| 沁源县| 淅川县| 长治县| 永仁县| 固安县| 浦北县| 城固县| 建宁县| 北碚区| 米林县| 合水县| 德惠市| 磐安县| 平乐县| 沅陵县| 瑞丽市| 正安县| 綦江县| 天门市| 宝兴县| 大田县| 香河县| 腾冲县| 桓台县| 台北市|