apache推出開源免費的日誌處理類庫
在專案發布後,無控制台,不易觀察一些輸出結果
作用:不僅能把內容輸出到控制台,還能把內容輸出到檔案,便於觀察結果
輸出級別
主要使用的級別一共有七種,只建議使用四種:
error(錯誤)> warn(警告)> info(普通資訊)> debug(除錯資訊)
元素及配置步驟
①根可宣告全域性輸出級別和輸出方向
如:log4j.rootcategory=error,console,logfile
全域性輸出級別為:error
定義了兩個方向:console,logfile可在之後進行詳細配置
②特定輸出級別
使用:log4j.logger.包名 = 輸出級別
可專門設定對於某個包具體的輸出級別,此時可將全域性輸出級別設定到較高,專門對某個包的資訊做記錄
③具體輸出方向的配置
預設有五個方向:
配置名輸出方向
控制台檔案
每天產生乙個日誌檔案
檔案大小溢位時產生新的檔案
將日誌以流格式傳送到指定的地方
④宣告輸出方向後需指定的屬性
目標為控制台需指定的屬性:
屬性作用
設定該方向的輸出級別
設定輸出時的格式
tips:對於輸出時的格式一共有四種
選項格式
org.apache.log4j.htmllayout
以html**形式布局
org.apache.log4j.patternlayout
可以自定義布局模式
org.apache.log4j.******layout
包含日誌的級別和資訊字串
org.apache.log4j.ttcclayout
包含日誌產生的時間、執行緒、類別等
目標為檔案需指定的屬性:
輸出級別、輸出格式同上,其他:
屬性作用
設定輸出的目標檔案
設定追加(true)、覆蓋(false)例:
目標為每天產生日誌檔案:
和目標為檔案時設定基本相同例:
目標為溢位時建立新檔案:
輸出級別、輸出格式同上,其他:
屬性作用
檔案大小上限(帶單位)
檔案數目上限
例:使用』%'進行轉義:
符號所代**式
%%%字元
-資訊輸出時左對齊(預設右對齊)
%p資訊優先順序(debug,info,warn,error等)
%d時間,可指定格式如:%d
%r自應用啟動到輸出該log資訊耗費的毫秒數
%t產生該日誌事件的執行緒名
%x和當前執行緒相關聯的ndc(巢狀診斷環境)
%c日誌資訊所屬的類的全名
%m自己指定的訊息,日誌具體資訊
%f日誌訊息產生時所在的檔名稱
%l**中的行號
%l相當於:%c.%m(%f:%l),包括類目名、發生的執行緒,以及在**中的行數
%n輸出乙個回車換行符,不同作業系統各不相同
ps:此處可在%與字元間填充資訊來設定最大長度(截掉)、最小長度(對齊)
格式含義
%am最小長度為a,以右對齊方式顯示
%-am
最小長度為a,以左對齊方式顯示
%.am
最大長度為a,截去左邊多出的字元
①建立org.apache.log4j.logger的物件
logger log = logger.getlogger(test.class)
②通過不同的方法,輸出不同的資訊,與%m相對應
如:log.error(「錯誤」);
log.debug(「除錯資訊」);
此處還有乙個輸出方向為database
具體配置:屬性值
jdbc:mysql://localhost:3306/資料庫名?servertimezone = gmt
com.mysql.cj.jdbc.driver
使用者名稱密碼
使用插入語句:insert into 表名(列名) values (格式符)
設定格式:org.apache.log4j.patternlayout
例:
log4j.rootcategory=error,database
結果(此處,我全域性設定為error,使用上面的輸出,只記錄error資訊):
log4j配置詳解
logs 檔案目錄及檔案,例如,home admin logs hutudan.log 最大檔案大小,例如,100kb 備份檔案個數,例如,1 例如,d m n或 d p c m n c 輸出日誌資訊所屬的類的全名 d 輸出日誌時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式,比如...
Log4j配置詳解
先看log4j的配置檔案如下 如果使用資料庫,請新增資料庫驅動,我感覺把日誌輸出到資料庫挺好的,畢竟資料庫中的資料不管是搜尋,還是統計分析都比檔案容易。資料表建立 如下 create table log icecoldmonitor id int 11 not null auto increment...
詳解log4j的配置
1 log4j版本 1.2.14 2 log4j定義配置檔案 log4j由三個重要的元件構成 i 日誌資訊的優先順序,從高到低有 error warn info debug,分別用來指定這條日誌資訊的重要程度 ii 日誌資訊的輸出目的地,指定了日誌將列印到控制台還是檔案中 iii 日誌資訊的輸出格式...