log4j2的使用總結

一張圖帶你瞭解log4j2使用


  • 環境準備web

    • log4j-api-2.3.jar
    • log4j-core-2.3.jar
    • log4j-web-2.3.jar (在web項目中須要引入的jar包。這裏作了數據的初始化)
  • 數據初始化apache

    咱們知道在web項目的入口在web.xml中。因此咱們得加入log4j的監聽器和過濾器json

    <listener>
           <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
       </listener>
       <filter>
           <filter-name>log4jServletFilter</filter-name>
           <filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class>
       </filter>
       <filter-mapping>
           <filter-name>log4jServletFilter</filter-name>
           <url-pattern>/*</url-pattern>
           <dispatcher>REQUEST</dispatcher>
           <dispatcher>FORWARD</dispatcher>
           <dispatcher>INCLUDE</dispatcher>
           <dispatcher>ERROR</dispatcher>
       </filter-mapping>複製代碼

    到這裏咱們log4j就已經配置成功了。可是在實際開發中發現沒有上面的監聽器和過濾器也是能夠的。因爲時間問題沒有研究緣由。大概網上查閱了一下好像是log4j源碼中有默認的配置。咱們上面沒有指定具體的配置文件的地址在哪,log4j就會讀取jar中默認的配置。系統中選擇的默認配置文件有如下幾種:api

    • classpath下的名爲log4j2-test.json 或者log4j2-test.jsn的文件.
    • classpath下的名爲log4j2-test.xml的文件.
    • classpath下名爲log4j2.json 或者log4j2.jsn的文件.
    • classpath下名爲log4j2.xml的文件.
  • log4j2配置詳解bash

  • logger等級app

    • 共有8個等級 按照從低到高爲:All < Trace < Debug < Info < Warn < Error < Fatal < OFF.
    • All:最低等級的,用於打開全部日誌記錄.
    • Trace:是追蹤,就是程序推動如下,你就能夠寫個trace輸出,因此trace應該會特別多,不過不要緊,咱們能夠設置最低日誌級別不讓他輸出.
    • Debug:指出細粒度信息事件對調試應用程序是很是有幫助的.
    • Info:消息在粗粒度級別上突出強調應用程序的運行過程.
    • Warn:輸出警告及warn如下級別的日誌.
    • Error:輸出錯誤信息日誌.
    • Fatal:輸出每一個嚴重的錯誤事件將會致使應用程序的退出的日誌.
    • OFF:最高等級的,用於關閉全部日誌記錄.    
  • 舉例ui

像上面那樣咱們已經配置了不少Logger了。每一個Logger都有本身的名字。咱們在代碼中這樣使用
`private static final Logger bossRequestTeletextLogger = LogManager.getLogger("bossRequestTeletextLogger");`
意思就是bossRequestTeletxtLogger將使用咱們最後一個Logger,該Logger等級是info等級的。存儲採用的是`teletextLoggerFile`存儲到文件中的。複製代碼
相關文章
相關標籤/搜索