java中log4j的使用體驗

Franson發表於2016-05-18

log4j相信大部分java開發者都已經很熟悉了,在此記錄下自己的使用過程。

一.檔案準備:

1.log4j.jar(我這裡使用的版本是log4j-1.2.17.jar,在附件中提供下載)

2.log4j配置,可以使用xml或properties檔案進行配置,推薦使用xml形式的配置,方便靈活還直觀,一個完整的log4j.xml參考配置檔案如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
    <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
        </layout>
        <!--過濾器設定輸出的級別 -->
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="levelMin" value="debug" />
            <param name="levelMax" value="warn" />
            <param name="AcceptOnMatch" value="true" />
        </filter>
    </appender>

    <appender name="myFile" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="C:/output.log" /><!-- 設定日誌輸出檔名 -->
        <!-- 設定是否在重新啟動服務時,在原有日誌的基礎新增新日誌 -->
        <param name="Append" value="true" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
        </layout>
    </appender>

    <appender name="activexAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="C:/activex.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
        </layout>
    </appender>
    <!-- 指定logger的設定,additivity指示是否遵循預設的繼承機制,定義此節點以便後文中使用 -->
    <logger name="mylog4j" additivity="true">
        <level value="ERROR" />
        <appender-ref ref="activexAppender" />
    </logger>
    <!-- 根logger的設定 -->
    <root>
        <priority value="debug" />
        <appender-ref ref="myConsole" />
        <appender-ref ref="myFile" />
    </root>
</log4j:configuration>  

需要注意的是,在eclipse中編寫xml檔案時,對於不能出現智慧提示時,需要eclipse新增DTD的引用。如下圖:

同時注意log4j.xml的

<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">

二.開始使用
1.將log4j.xml複製拷貝到src目錄下;
2.將log4j-1.2.17.jar引入到編譯環境中;
3.編寫程式碼測試。

四.附件
log4j-1.2.17.zip

相關文章