為啥叫Log4j?
Log4j就是log for java。是針對(duì)Java語(yǔ)言輸出日志的工具,夠見名知意吧?
Log4j干嘛的?
記錄日志
為啥要記錄日志?
為了記錄便于分析。直接打印到控制臺(tái)實(shí)在太low。
Log4j使用須知
要導(dǎo)包,jar文件,不導(dǎo)包玩?zhèn)€錘子
Log4j配置文件講解
java配置文件采用key = value的方式存儲(chǔ)配置
實(shí)例配置文件:
log4j.rootLogger = debug,C,D,E
log4j.appender.C = org.apache.log4j.ConsoleAppender
log4j.appender.C.Target = System.out
log4j.appender.C.layout = org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern = [%5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = /home/soft01/log4j/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = debug
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = /home/soft01/log4j/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
講解:
-
rootLogger: -
debug: LEVEL日志記錄的優(yōu)先級(jí) -
C,D,E:目的地,表示日志會(huì)輸出到這CDE這3個(gè)地方
配置信息輸出方式:
-
org.apache.log4j.ConsoleAppender:輸出到控制臺(tái) -
org.apache.log4j.FileAppender:輸出到文件,且每天產(chǎn)生一個(gè)新文件 -
org.apache.log4j.DailyRollingFileAppender:輸出到文件,且每天產(chǎn)生一個(gè)新文件 -
org.apache.log4j.RollingFileAppender:輸出到文件,且當(dāng)文件達(dá)到一定大小產(chǎn)生一個(gè)新文件
log4j.appender.C.Target:發(fā)送的目的地:
-
System.out:發(fā)送到控制臺(tái)標(biāo)準(zhǔn)流 -
log4j.appender.D.File:發(fā)送到指定的文件中
log4j.appender.E.Append:文件追加方式
-
true:追加 -
false:覆蓋
log4j.appender.E.Threshold:指定消息輸出的最低層次
debugERROR
log4j.appender.E.layout:設(shè)置顯示樣式
-
org.apache.log4j.PatternLayout:自定義模式 -
HtmlLayout:HTML表格形式 -
SimpleLayout:包含日志級(jí)別、信息的簡(jiǎn)單模式 -
TTCClayout:包含日志時(shí)間、線程、類別的信息
log4j.appender.E.layout.ConversionPattern:設(shè)置顯示樣式
[%5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
-
%5p:p表示優(yōu)先級(jí),5表示輸出寬度不夠5位用空格補(bǔ),補(bǔ)在p前(右對(duì)齊) -
%d:時(shí)間格式表示后面會(huì)輸出時(shí)間, -
%-d:左對(duì)齊, -
%n:換行 -
%t:表示輸出產(chǎn)生該日志事件的線程名 -
%i:輸出日志事件的發(fā)生位置,相當(dāng)于%C.%M(%F:%L)的組合,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)
Log4j如何使用
- 準(zhǔn)備好配置文件
將配置文件log4j.properties放入src文件夾中,編譯時(shí)可以自動(dòng)移植(找到對(duì)應(yīng)字節(jié)碼文件路徑)。 - 獲得日志對(duì)象
Logger log = Logger.getLogger(類名.class); - 調(diào)用對(duì)應(yīng)等級(jí)的方法。如
debug
logger.debug("干debug");
完整實(shí)例代碼:

日志實(shí)例