日常啰嗦

上一篇文章主要講述了一下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)論