1. 程式人生 > 實用技巧 >log4j+coomons.logging列印日誌

log4j+coomons.logging列印日誌

日誌可以1 分析專案執行情況, 2為大資料分析提供依據

日誌檔案配置log4j.xml(名稱必須是這個)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration>

    <!-- 將日誌資訊輸出到控制檯 -->
    <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
        <!-- 設定日誌輸出的樣式 -->
        <layout class
="org.apache.log4j.PatternLayout"> <!-- 設定日誌輸出的格式 --> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" /> </layout> <!--過濾器設定輸出的級別--> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <!-- 設定日誌輸出的最小級別 --> <param name="levelMin" value="TRANCE" /> <!-- 設定日誌輸出的最大級別 --> <param name="levelMax" value="fatal" /> </filter> </appender> <!-- 系統應用級別日誌,日誌達到一定大小後,產生新的檔案 --> <appender name="fileMaxAppenderAll" class
="org.apache.log4j.RollingFileAppender"> <param name="file" value="D:/java/logs/all.sys.log" /> <!--每個檔案最大--> <param name="maxFileSize" value="1kb" /> <!--最多有多少個檔案--> <param name="maxBackupIndex" value="5" /> <!-- 設定是否在重新啟動服務時,在原有日誌的基礎新增新日誌 --> <param name="append" value="true" /> <layout class
="org.apache.log4j.PatternLayout"> <!--<param name="ConversionPattern" value="[%-5p][%d{yyyy-MM-dd HH:mm:ss,SSS}][%c] :%m%n" />--> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" /> </layout> </appender> <!--輸出到檔案 所有日誌,根據name='DatePattern'設定每隔多久分割成一個新檔案 --> <appender name="fileAppenderAll" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="D:/java/logs/daily.sys.log" /> <param name="append" value="true" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy.MM.dd HH:mm:ss SS} %5p [%t] %C{1}.%M(%L) | %m%n" /> </layout> </appender> 註冊appender <root> <!--<priority value="all"/>--> <!--<appender-ref ref="ConsoleAppender"/>--> <appender-ref ref="fileAppenderAll"/> </root> </log4j:configuration>

2. 應用

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;

/**
 * author wmq
 *
 * @date 2020/12/69:52
 */
public class LogTest{
//    log物件,用來記錄日誌
    private Log log = LogFactory.getLog(LogTest.class);

    @Test
    public void log4jTest() {
        log.debug("debug");
        log.warn("warn");
        log.error("error");
        log.fatal("fatal");
    }
}