log4j學習筆記

2021-06-18 16:27:17 字數 1985 閱讀 7543

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學習筆記

官方文件 參考 1.logger 1.1 logger logger是我們列印日誌之前去的的控制日誌列印的物件 logger具有自己的名稱,根據名稱的可包含關係具有繼承性 例如 名字為com.foo的logger是com.foo.bar的logger的祖先,因為它們2個之間只相差乙個.後面的字元,因...