下面進行重點講解:
log4j.rootLogger=DEBUG, CONSOLE, FILE ----- 配置根Logger,等號后的第一個單詞DEBUG代表輸出等級(等級共有5種FATAL ERRORWARN INFO DEBUG,越往后輸出越詳細,按順序每一個等級都包含前面的所有輸出并屏蔽后面的所有輸出。這里推薦選擇二種,分別為ERROR:僅僅只記錄錯誤信息;DEBUG:記錄所有錯誤的詳細信息。在生產配置下,請關閉應用于控制臺CONSOLE選項,僅啟用FILE即可);后面的兩個CONSOLE和FILE代表日志輸出的位置,后面的兩個可以任意命名,為了明顯易懂,使用可以一眼看出含義的單詞。例如,用console代表控制臺輸出,file代表文件輸出
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -------注意等號前面的CONSOLE,它對應于上面你的定義,這句話的意思是定義CONSOLE為org.apache.log4j.ConsoleAppender(log4j的控制臺輸出),Log4j提供的appender有以下幾種:
org.apache.log4j.ConsoleAppender(控制臺)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生新文件)
org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout -------定義log4j使用的輸出布局(輸出格式)。
log4j提供以下4種布局樣式:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以靈活地指定布局模式,就是可以自定義輸出樣式),
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),
org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)
log4j.appender.CONSOLE.layout.ConversionPattern=%d{MM-ddHH:mm:ss}[%c-%L][%t][%-4r] - %m%n -------這個就是針對PatternLayou你自定義的輸出格式,重點講解一下打印參數, Log4J采用的是類似C語言中的printf函數的打印格式格式化日志信息的
%m 輸出代碼中指定的消息
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL
%r 輸出自應用啟動到輸出該log信息耗費的毫秒數
%c 輸出所屬的類目,通常就是所在類的全名
%t 輸出產生該日志事件的線程名
%n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n”,也就是一跳消息占用一行
%d 輸出日志時間點的日期或時間,緊跟一對花括號進行自定義格式
%c 輸出所屬的類目,通常就是所在類的全名
%l 精確到行
%x 輸出對齊
下面這句話是我從我的控制臺輸出的日志信息中截取的一句,對應上面的定義格式對比看一下就了解的差不多了
09-3010:34:04[com.opensymphony.xwork2.config.providers.InterceptorBuilder-45][main][106] - No interceptor found for name = includeMethods
log4j.appender.FILE.File=D:/logs/log4j.log --------定義輸出文件的位置及文件名
log4j.appender.FILE.MaxFileSize=1MB ----------定義每個文件的大小,超過這個大小,則新建一個文件,注意單位 MB 或 KB
運行一下,看看異常信息是不是保存在error.log中
新聞熱點
疑難解答