日常啰嗦
上一篇文章主要講述了一下syso和Log間的一些區(qū)別與比較,重點是在項目的日志功能上,因此,承接前文《Spring+SpringMVC+MyBatis+easyUI整合優(yōu)化篇(一)System.out.print與Log》,本文是一個較為直觀的日志功能案例,java的日志框架很多,如Log4j、Log4j2、logback、SLF4J,篇幅有限,所以本篇只介紹一下Log4j,并將其整合到項目中,對于其他日志框架,想了解的可以對應(yīng)的去學習一下。
Log4j簡介
日志記錄功能是一個項目中重要的組成部分,log4j是APache下的一個開源日志組件,為java開發(fā)者提供了很大的便利。
Log4j由三個重要的組件構(gòu)成:
Loggers,日志信息的優(yōu)先級
日志信息的優(yōu)先級從高到低有ERROR、WARN、 INFO、DEBUG,分別用來指定這條日志信息的重要程度,設(shè)置為高級別的優(yōu)先級時,低優(yōu)先級的日志將不會輸出,比如將日志級別設(shè)置為INFO,則DEBUG級別的目錄不會被記錄,為了防止日志輸出泛濫,最好不要將日志級別設(shè)置太低,一般為INFO即可。
Appenders,日志信息的輸出目的地
日志信息的輸出目的地指定了日志將打印到控制臺還是文件中,參數(shù)如下:
org.apache.log4j.ConsoleAppender (控制臺)
org.apache.log4j.FileAppender (文件)
org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件,本文中的案例選擇的策略)
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產(chǎn)生一個新的文件,也是一個不錯的選擇)
org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)
Layouts,日志信息的輸出格式
輸出格式的功能是控制日志信息的顯示內(nèi)容,參數(shù)如下:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以靈活地指定布局模式,本案例所選擇的策略,需對日志格式進行設(shè)置)
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)
org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時間、線程、類別等等信息)
log4j簡單demo
下面是一個簡單的案例,并與System.out.print進行比較,代碼在github上,可以下載自己運行一下。
日志輸出:
網(wǎng)友評論