1沙咏、獲取日志記錄器
private static final Logger LOGGER=Logger.getLogger(Test1.class);
這里注意
1、出于資源利用的考慮漱抓,Logger的構(gòu)造方法參數(shù)是Class童番,決定了Logger是根據(jù)類的結(jié)構(gòu)來進(jìn)行區(qū)分日志精钮,所以一個類只要一個Logger就可以了,故static
2妓盲、final表示一種編程習(xí)慣杂拨,表示該類的Logger只是記錄該類的信息
2、log4j.xml 或者log4j.properties的加載
1悯衬、自動加載
log4j啟動時弹沽,默認(rèn)會尋找source路徑下的log4j.xml配置文件,若沒有筋粗,會尋找log4j.properties文件策橘。然后加載配置。配置文件放置位置正確娜亿,不用在程序中手動加載log4j配置文件
2丽已、手動加載
//properties配置方式
PropertyConfigurator.configure("配置文件路徑");
//xml配置方式
DOMConfigurator.configure("配置文件路徑");
3、log4j配置 ---log4j.properties
1买决、定義根Logger
格式 log4j.rootLogger =[ level ] , appenderName, appenderName, …
2沛婴、輸出目的地Appender
org.apache.log4j.ConsoleAppender(控制臺)吼畏,
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件)嘁灯,
org.apache.log4j.RollingFileAppender(文件大小到達(dá)指定尺寸的時候產(chǎn)生一個新的文件)泻蚊,
org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)
其中org.apache.log4j.DailyRollingFileAppender 詳細(xì)解釋下
DailyRollingFileAppender有兩個屬性
log4j.appender.D.MaxFileSize=10MB
log4j.appender.D.MaxBackupIndex=10
MaxFileSize和MaxBackupIndex
MaxFileSize是生成文件制定的大小,超過其大小的時候丑婿,原來的日志文件會被加上序號性雄,如之前的文件是a.log 那么現(xiàn)在就是a.log.1
若是再超過指定尺寸(MaxFileSize)需要增加一個日志文件時,那么原來a.log.1的文件會加上1變成xxx.2
MaxBackupIndex是指生成最大的序號羹奉。若是超過這個序號秒旋,最早的記錄就會被覆蓋掉
3、日志的layout(格式诀拭,布局)
layout有以下幾種
org.apache.log4j.HTMLLayout(以HTML表格形式布局)迁筛,
org.apache.log4j.PatternLayout(可以靈活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)耕挨,
org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時間瑰煎、線程、類別等等信息)
其中PatternLayout 最為常見 俗孝,以下對PatternLayout 作出說明
使用log4j.appender.stdout.layout.ConversionPattern 來對PatternLayout 做詳細(xì)的指定
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss.SSS} %r %c:%L - %m%n
其中字符的含義
%p 輸出優(yōu)先級,即DEBUG魄健,INFO赋铝,WARN,ERROR沽瘦,F(xiàn)ATAL
%r 輸出自應(yīng)用啟動到輸出該log信息耗費(fèi)的毫秒數(shù)
%c 輸出所屬的類目革骨,通常就是所在類的全名
%t 輸出產(chǎn)生該日志事件的線程名
%n 輸出一個回車換行符,Windows平臺為“rn”析恋,Unix平臺為“n”
%d 輸出日志時間點(diǎn)的日期或時間良哲,默認(rèn)格式為ISO8601,也可以在其后指定格式助隧,比如:%d{yyy MMM dd HH:mm:ss,SSS}筑凫,輸出類似:2002年10月18日 22:10:28,921
%l 輸出日志事件的發(fā)生位置并村,包括類目名巍实、發(fā)生的線程,以及在代碼中的行數(shù)哩牍。
參考資料:https://blog.csdn.net/u012345283/article/details/39264245
https://blog.csdn.net/sinat_30185177/article/details/73550377