日常啰嗦
上一篇文章主要講述了一下syso和Log間的一些區(qū)別與比較,重點是在項目的日志功能上,因此,承接前文《Spring+SpringMVC+MyBatis+easyUI整合優(yōu)化篇(一)System.out.print與Log》,本文是一個較為直觀的日志功能案例,java的日志框架很多,如Log4j、Log4j2、logback、SLF4J,篇幅有限,所以本篇只介紹一下Log4j,并將其整合到項目中,對于其他日志框架,想了解的可以對應(yīng)的去學(xué)習(xí)一下。
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上,可以下載自己運行一下。
日志輸出:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26