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