log4j學習筆記

2021-09-01 20:03:56 字數 1987 閱讀 5437

rootlogger是新的使用名稱,對應logger類

rootcategory是舊的使用名稱,對應原來的category類

logger類是category類的子類,所以,rootcategory是舊的用法,不推薦使用

%m  輸出**中指定的訊息

%p  輸出優先順序,即debug,info,warn,error,fatal

%r  輸出自應用啟動到輸出該log資訊耗費的毫秒數

%t  輸出產生該日誌事件的執行緒名

%n  輸出乙個回車換行符,windows平台為「rn」,unix平台為「n」

%d  輸出日誌時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式,比如:%d,輸出類似:2023年10月18日  22:10:28,921

%l  輸出日誌事件的發生位置,包括類目名、發生的執行緒,以及在**中的行數。相當於%c%m(%f:%l)

%l  只輸出在**中的行數。

%c  輸出所屬的類目,通常就是所在類的全名。這個類名是你初始化logger的時候傳給logger的類名,即category。若你初始化時的語句如 下:private final logger log = logger.getlogger(logtest.class);則%c所指示的類名為:logtest。

%c n表示顯示的包路徑層數,如%c顯示:com.spring.login.test,則%c顯示:test。而%c顯示:login.test。

%c(c大寫) 輸出日誌所屬類目的呼叫者的全類名。此處輸出的是呼叫logger的那個類的名字,比如你有乙個類叫:logcaller,而你在初始化logger是傳 給他的引數區卻是:logtest.class。那麼使用大寫的%c後實際打出的類是呼叫類,即logcaller。效能較差,不建議使用。

[qc]是log資訊的開頭,可以為任意字元,一般為專案簡稱。

不常用的幾個:

%f 輸出日誌訊息產生時所在的檔名稱。效能不好,不建議使用

%m 輸出日誌訊息產生時所在的方法名稱。效能不好,不建議使用

%x 輸出和當前執行緒相關聯的ndc(nested diagnostic context)環境,用於多客戶多執行緒的應用中

一些輸出格式說明:

可以在%與模式字元之間加上修飾符來控制其最小寬度、最大寬度、和文字的對齊方式。如:

%20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小於20的話,預設的情況下右對齊。

%-20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小於20的話,」-」號指定左對齊。

%.30c:指定輸出category的名稱,最大的寬度是30,如果category的名稱大於30的話,就會將左邊多出的字元截掉,但小於30的話也不會有空格。

%20.30c:如果category的名稱小於20就補空格,並且右對齊,如果其名稱長於30字元,就從左邊將多出的字元截掉。

threshold=debug:指定日誌訊息的輸出最低層次。

file=mylog.txt:指定訊息輸出到mylog.txt檔案。

maxfilesize=100kb: 字尾可以是kb, mb 或者是 gb. 在日誌檔案到達該大小時,將會自動滾動,即將原來的內容移到mylog.log.1檔案。

maxbackupindex=2:指定可以產生的滾動檔案的最大數。

immediateflush=true:預設值是true,意謂著所有的訊息都會被立即輸出。

例項:

'.'yyyy-mm,對應monthly(每月)

'.'yyyy-ww,對應weekly(每週)

'.'yyyy-mm-dd,對應daily(每天)

'.'yyyy-mm-dd-a,對應half-daily(每半天)

'.'yyyy-mm-dd-hh,對應hourly(每小時)

'.'yyyy-mm-dd-hh-mm,對應minutely(每分鐘)

log4j學習筆記

先貼幾個官方的東西 log4j日誌等級從高到低 分為off fatal error warn info debug all或者您定義的級別。log4j建議只使用四個級別,優先順序從高到低分別是error warn info debug。通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的...

Log4j 學習筆記

log4j 由三個重要的元件構成 日誌資訊的優先順序,日誌資訊的輸出目的地,日誌資訊的輸出格式。日誌資訊的優先順序從高到低有 error warn info debug 分別用來指定這條日誌資訊的重要程度 日誌資訊的輸出目的地指定了日誌將列印到控制台還是檔案中 而輸出格式則控制了日誌資訊的顯示內容。...

log4j學習筆記

rootlogger是新的使用名稱,對應logger類 rootcategory是舊的使用名稱,對應原來的category類 logger類是category類的子類,所以,rootcategory是舊的用法,不推薦使用 m 輸出 中指定的訊息 p 輸出優先順序,即debug,info,warn,e...