1. 程式人生 > 其它 >Log4j的配置與使用詳解,只需一篇文章吃透Java多執行緒技術

Log4j的配置與使用詳解,只需一篇文章吃透Java多執行緒技術

Log4j的配置與使用詳解,只需一篇文章吃透Java多執行緒技術

如果日誌輸出佈局為PatternLayout 自定義級別,需要使用ConversionPattern指定輸出格式

log4j.appender.LOGFILE.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n




**測試查詢操作:**  

![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20210412182833678.png)



[](https://gitee.com/vip204888/java-p7)Log4j三大元件

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



*   **Logger:** 日誌記錄器,日誌記錄的核心類,用於輸出不同日誌級別的訊息。

*   **Appender:** 日誌輸出目標,用於指定日誌輸出的目的地,如控制檯、檔案等等。

*   **Layout:** 日誌格式化器,用於指定日誌按照什麼格式輸出,是日誌輸出的格式化器。



**Appender:** Log4j中用於控制日誌輸出的目的地,每一個Appender就表示一個輸出目標,有以下幾種:



*   ConsoleAppender:輸出到控制檯;

*   FileAppender:輸出到指定檔案;

*   DailyRollingFileAppender:每天產生一個單獨的日誌檔案;

*   RollingFileAppender:限制日誌檔案大小,每當達到大小限制時生成一個新的日誌檔案;

*   WriterAppender:將日誌資訊以流格式傳送到任意指定的地方;



**Layout:** 日誌輸出格式,Log4j提供的layout有以下幾種:



*   org.apache.log4j.HTMLLayout(以HTML表格形式佈局),

*   org.apache.log4j.PatternLayout(可以靈活地指定佈局模式),

*   org.apache.log4j.SimpleLayout(包含日誌資訊的級別和資訊字串),

*   org.apache.log4j.TTCCLayout(包含日誌產生的時間、執行緒、類別等等資訊)



**Logger:** 日誌記錄器是Log4j使用的核心類,通過Logger類可以設定日誌訊息的輸出級別、輸出目的地以及輸出格式;



[](https://gitee.com/vip204888/java-p7)基本使用

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



**1\. 引入相關依賴:log4j**



<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.12</version>



**2.匯入包:org.apache.log4j.Logger**



**3.建立日誌物件: static final Logger logger = Logger.getLogger(XXX.class); //引數為當前所在類的類檔案**



**測試程式碼:**



import org.apache.log4j.Level;

import org.apache.log4j.Logger;

import org.junit.Test;

public class Log4jTest {

//建立日誌物件 Logger

static final Logger logger = Logger.getLogger(Log4jTest.class);



@Test

public void testLog4j(){



    //顯示警告級別以上的資訊

    logger.setLevel(Level.WARN);

    // debug level

    logger.debug("DEBUG(除錯)");

    // info level

    logger.info("INFO(訊息)");

    // warning level

    logger.warn("WARN(警告)");

    // error level

    logger.error("ERROR(錯誤)");

}

}



# 面試題總結

**[面試檔案獲取方式:戳這裡免費下載(助你面試無憂)](https://gitee.com/vip204888/java-p7)**

**其它面試題(springboot、mybatis、併發、java中高階面試總結等)**

![](https://upload-images.jianshu.io/upload_images/22932333-3db05687eb281f7e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](https://upload-images.jianshu.io/upload_images/22932333-49fccfe54f90c9de?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](https://upload-images.jianshu.io/upload_images/22932333-ac5bc139f5195399?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)