itVincent Blog - Java Working Fun!

          技術(shù)引領(lǐng)時代!
          posts - 117, comments - 181, trackbacks - 0, articles - 12

          自己寫的一個log4j.xml

          Posted on 2007-08-07 18:21 itVincent 閱讀(1713) 評論(0)  編輯  收藏 所屬分類: Java基礎(chǔ)
           1<?xml version="1.0" encoding="UTF-8"?>
           2<!DOCTYPE log4j:configuration PUBLIC "-//Apache//DTD Log4j 1.2//EN"
           3                                    "http://logging.apache.org/log4j/docs/api/org/apache/log4j/xml/log4j.dtd">
           4<log4j:configuration debug="false">
           5
           6    <appender name="FILE" class="org.apache.log4j.FileAppender">
           7        <param name="File" value="../log/system.log" />
           8        <param name="Append" value="false" />
           9        <param name="Threshold" value="info" />
          10        <layout class="org.apache.log4j.PatternLayout">
          11            <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n" />
          12        </layout>
          13    </appender>
          14
          15    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
          16        <param name="Target" value="System.out"/>
          17        <param name="Threshold" value="info" />
          18        <layout class="org.apache.log4j.PatternLayout">
          19            <param name="ConversionPattern"
          20                value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
          21        </layout>
          22    </appender>
          23
          24    <appender name="DAILYFILE" class="org.apache.log4j.DailyRollingFileAppender">
          25        <param name="File" value="../log/daily_system.log" />
          26        <param name="Append" value="true" />
          27        <param name="Threshold" value="info" />
          28        <param name="DatePattern" value="'.'yyyy-MM-dd" />
          29        <layout class="org.apache.log4j.PatternLayout">
          30            <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n" />
          31        </layout>
          32    </appender>
          33
          34    <appender name="DEBUG_FILE" class="org.apache.log4j.FileAppender">
          35        <param name="File" value="../log/debug.log" />
          36        <param name="Append" value="false" />
          37        <!--<param name="Threshold" value="info" />-->
          38        <layout class="org.apache.log4j.PatternLayout">
          39            <param name="ConversionPattern" value="%d %-5p [%c] %m%n" />
          40        </layout>
          41    </appender>
          42
          43    <appender name="DEBUG_HTML" class="org.apache.log4j.FileAppender">
          44        <param name="File" value="../log/debug.html" />
          45        <param name="Append" value="false" />
          46        <param name="Threshold" value="info" />
          47        <layout class="org.apache.log4j.HTMLLayout">
          48            <param name="Title" value="debug html log" />
          49        </layout>
          50    </appender>
          51
          52    <logger name="net.blogjava.itvinent">
          53        <level value="debug"/>
          54        <appender-ref ref="DEBUG_FILE"/>
          55        
          56    </logger>
          57
          58
          59     <root>
          81        <level value="info"/>
          82        <appender-ref ref="CONSOLE" />
          83        <appender-ref ref="FILE" />
          84        <appender-ref ref="DEBUG_HTML"/>
          85        <appender-ref ref="DAILYFILE"/>
          86       </root>     
          91</log4j:configuration>


          本文適合對log4j有一定了解的朋友^_^

          CONSOLE是控制臺日志,在控制臺上顯示日志信息

          FILE是文件日志,程序每次啟動本文件會清空,寫入新的日志

          DEBUG_HTML是HTML日志,日志以HTML格式生成,方便用瀏覽器察看日志

          DEBUG_FILE 是保存debug信息的日志文件

          DAILYFILE是定時備份日志,程序啟動時,會生成一個../log/daily_system.log文件,<param name="DatePattern" value="'.'yyyy-MM-dd" />表示每天深夜時會自動復(fù)制daily_system.log的內(nèi)容生成一個名如daily_system.log.2008-08-07的日志文件

          -----------------------------------------------------------------------------------------------------------------------

          下面再解釋一些共用的設(shè)置參數(shù):
          <param name="File" value="../log/system.log" />表示生成的日志文件保存的目錄與名稱

          <param name="Append" value="false" />false表示重啟程序之后,不會把日志添加到文件末尾,取而代之是清空原來日志,寫入新的日志.true則是會把新日志添加到文件末尾

          <param name="Threshold" value="info" />表示這個appender只顯示value以上級別的日志

          <layout class="org.apache.log4j.PatternLayout">表示所用的日志外觀,即我們的日志要以何種格式顯示出來


          ----------------------------------------------------------------------------------------------------------------------

           <logger name="net.blogjava.itvincent">
            <level value="debug"/>
            <appender-ref ref="DEBUG_FILE"/>
             </logger>

          表示DEBUG_FILE這個appender,會顯示所有為net.blogjava.itvincent開頭的日志名稱的debug信息

            <root>
            <level value="info"/>
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="FILE" />
            <appender-ref ref="DEBUG_HTML"/>
            <appender-ref ref="DAILYFILE"/>
           </root> 

          表示在根日志器中加入CONSOLE、FILE、DEBUG_HTML、DAILYFILE這四個appender

          要使日志生效,就要通過上面兩種方式加入appender
          ---------------------------------------------------------------------------------------------------------
          Java類中插入以下成員變量:
           private static Logger log = LoggerFactory.getLogger(Sample.class);

           


          歡迎回復(fù)回信交流!

          主站蜘蛛池模板: 滕州市| 菏泽市| 保德县| 繁峙县| 渭源县| 枣庄市| 夹江县| 灵山县| 英德市| 武陟县| 长岛县| 晋城| 西和县| 扎兰屯市| 黑龙江省| 六盘水市| 邓州市| 杭锦旗| 凤冈县| 乐安县| 思南县| 巨鹿县| 平江县| 鲜城| 廉江市| 平凉市| 鄂尔多斯市| 宁陵县| 丰宁| 嘉善县| 池州市| 申扎县| 高碑店市| 沂水县| 青田县| 沛县| 肥东县| 清河县| 连南| 大英县| 洞口县|