隨筆-14  評論-34  文章-0  trackbacks-0
          • log4j配置文件基本含義說明
          log4j.properties配置文件講解如下:
          # Set root logger level to DEBUG and its only appender to A1
          #log4j中有五級logger
          #FATAL 0
          #ERROR 3
          #WARN 4
          #INFO 6
          #DEBUG 7

          配置根Logger,其語法為:
          #log4j.rootLogger = [ level ] , appenderName, appenderName, …
          log4j.rootLogger=INFO, A1 ,R
          #這一句設置以為著所有的log都輸出
          #如果為log4j.rootLogger=WARN, 則意味著只有WARN,ERROR,FATAL
          #被輸出,DEBUG,INFO將被屏蔽掉.
          # A1 is set to be a ConsoleAppender.
          #log4j中Appender有幾層如控制臺、文件、GUI組件、甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等
          #ConsoleAppender輸出到控制臺
          log4j.appender.A1=org.apache.log4j.ConsoleAppender
          # A1 使用的輸出布局,其中log4j提供4種布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
          #org.apache.log4j.PatternLayout(可以靈活地指定布局模式),
          #org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),
          #org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)

          log4j.appender.A1.layout=org.apache.log4j.PatternLayout
          #靈活定義輸出格式 具體查看log4j javadoc org.apache.log4j.PatternLayout
          #d 時間 ....
          log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
          #R 輸出到文件 RollingFileAppender的擴展,可以提供一種日志的備份功能。
          log4j.appender.R=org.apache.log4j.RollingFileAppender
          #日志文件的名稱
          log4j.appender.R.File=log4j.log
          #日志文件的大小
          log4j.appender.R.MaxFileSize=100KB
          # 保存一個備份文件
          log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.TTCCLayout
          #log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n


          配置根Logger,其語法為:
          log4j.rootLogger = [ level ] , appenderName, appenderName, ...

          level 是日志記錄的優先級
          appenderName就是指定日志信息輸出到哪個地方。您可以同時指定多個輸出目的地。

          配置日志信息輸出目的地Appender,其語法為

          log4j.appender.appenderName = fully.qualified.name.of.appender.class
          log4j.appender.appenderName.option1 = value1
          ...
          log4j.appender.appenderName.option = valueN

          Log4j提供的appender有以下幾種:
          org.apache.log4j.ConsoleAppender(控制臺),
          org.apache.log4j.FileAppender(文件),
          org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件),
          org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件),
          org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)

          配置日志信息的格式(布局),其語法為:

          log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
          log4j.appender.appenderName.layout.option1 = value1
          ....
          log4j.appender.appenderName.layout.option = valueN

          Log4j提供的layout有以下幾種:
          org.apache.log4j.HTMLLayout(以HTML表格形式布局),
          org.apache.log4j.PatternLayout(可以靈活地指定布局模式),
          org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),
          org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)
          • 常用log4j配置
          一般可以采用兩種方式,.properties和.xml,下面舉兩個簡單的例子:
          一、log4j.properties
          ### 設置org.zblog域對應的級別INFO,DEBUG,WARN,ERROR和輸出地A1,A2 ##
          log4j.category.org.zblog=ERROR,A1
          log4j.category.org.zblog=INFO,A2
          log4j.appender.A1=org.apache.log4j.ConsoleAppender
          ### 設置輸出地A1,為ConsoleAppender(控制臺) ##
          log4j.appender.A1.layout=org.apache.log4j.PatternLayout
          ### 設置A1的輸出布局格式PatterLayout,(可以靈活地指定布局模式)##
          log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
          ### 配置日志輸出的格式##
          log4j.appender.A2=org.apache.log4j.RollingFileAppender
          ### 設置輸出地A2到文件(文件大小到達指定尺寸的時候產生一個新的文件)##
          log4j.appender.A2.File=E:/study/log4j/zhuwei.html
          ### 文件位置##
          log4j.appender.A2.MaxFileSize=500KB
          ### 文件大小##
          log4j.appender.A2.MaxBackupIndex=1
          log4j.appender.A2.layout=org.apache.log4j.HTMLLayout
          ##指定采用html方式輸出
          二、log4j.xml
          <?xml version="1.0" encoding="GB2312" ?>
          <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
          <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
          <appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender">
          <!-- 設置通道ID:org.zblog.all和輸出方式:org.apache.log4j.RollingFileAppender -->
             <param name="File" value="E:/study/log4j/all.output.log" /><!-- 設置File參數:日志輸出文件名 -->
             <param name="Append" value="false" /><!-- 設置是否在重新啟動服務時,在原有日志的基礎添加新日志 -->
             <param name="MaxBackupIndex" value="10" />
             <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /><!-- 設置輸出文件項目和格式 -->
             </layout>
          </appender>
          <appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender">
             <param name="File" value="E:/study/log4j/zhuwei.output.log" />
             <param name="Append" value="true" />
             <param name="MaxFileSize" value="10240" /> <!-- 設置文件大小 -->
             <param name="MaxBackupIndex" value="10" />
             <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
             </layout>
          </appender>
          <logger name="zcw.log"> <!-- 設置域名限制,即zcw.log域及以下的日志均輸出到下面對應的通道中 -->
             <level value="debug" /><!-- 設置級別 -->
             <appender-ref ref="org.zblog.zcw" /><!-- 與前面的通道id相對應 -->
          </logger>
          <root> <!-- 設置接收所有輸出的通道 -->
             <appender-ref ref="org.zblog.all" /><!-- 與前面的通道id相對應 -->
          </root>
          </log4j:configuration>
          三、配置文件加載方法:
          import org.apache.log4j.Logger;
          import org.apache.log4j.PropertyConfigurator;
          import org.apache.log4j.xml.DOMConfigurator;
          public class Log4jApp {
             public static void main(String[] args) {
                 DOMConfigurator.configure("E:/study/log4j/log4j.xml");//加載.xml文件
                 //PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加載.properties文件
                 Logger log=Logger.getLogger("org.zblog.test");
                 log.info("測試");
             }
          }
          四、項目使用log4j
          在web 應用中,可以將配置文件的加載放在一個單獨的servlet中,并在web.xml中配置該servlet在應用啟動時候加載。對于在多人項目中,可以給 每一個人設置一個輸出通道,這樣在每個人在構建Logger時,用自己的域名稱,讓調試信息輸出到自己的log文件中。
          五、常用輸出格式
          # -X號:X信息輸出時左對齊;
          # %p:日志信息級別
          # %d{}:日志信息產生時間
          # %c:日志信息所在地(類名)
          # %m:產生的日志具體信息
          # %n:輸出日志信息換行
          posted on 2008-03-20 09:39 Jam Chan 閱讀(2208) 評論(0)  編輯  收藏 所屬分類: Java組件

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


          網站導航:
           
          主站蜘蛛池模板: 乌拉特中旗| 禹州市| 文昌市| 报价| 苍山县| 泗阳县| 新兴县| 荃湾区| 江源县| 桃源县| 扶风县| 民乐县| 齐齐哈尔市| 科技| 托里县| 梨树县| 沧源| 拜城县| 黄龙县| 康定县| 河池市| 连州市| 大余县| 黄浦区| 峨眉山市| 罗定市| 收藏| 年辖:市辖区| 澳门| 阜阳市| 江山市| 德阳市| 贡嘎县| 泗阳县| 宁津县| 内黄县| 光泽县| 新沂市| 南皮县| 库车县| 丹寨县|