Log4j框架配置文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Log4j框架配置文件
1 Log4j的配置文件分類
Log4j支持兩種配置文件格式:一中是以log4j.properties ,另一種是 log4j.xml
2 Log4j的配置文件例子
##自定義日志的輸出級(jí)別log4j.rootLogger=WARN, stdout##自定義日志 log4j.logger.access=WARN, accesslog4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout? log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n### 輸出到日志文件 ### log4j.appender.R = org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File = logs/test.log log4j.appender.R.Append = true log4j.appender.R.Threshold = DEBUG log4j.appender.R.DatePattern = '.'yyyy-MM-dd-HH log4j.appender.R.layout = org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n### 業(yè)務(wù)日志### log4j.appender.access = org.apache.log4j.FileAppender log4j.appender.access.File = ?logs/test.access.log log4j.appender.access.Append = true log4j.appender.access.layout = org.apache.log4j.PatternLayout log4j.appender.access.layout.ConversionPattern = %m%n3 Log4j的配置文件解析
(1)配置rootLogger
最重要就是第一個(gè)log4j.rootLogger,指定log4j日志的輸出界別(目的地)
log4j.rootLogger=INFO,stdout,file意思為:日志可以輸INFO級(jí)別以上的數(shù)據(jù),將日志輸出到stdout標(biāo)準(zhǔn)控制輸出(控制臺(tái)),輸出到file
常見(jiàn)的日志輸出級(jí)別:DEBUG(調(diào)試) < INFO(信息) < WARN(警告) < ERROR(錯(cuò)誤) < FATAL(致命錯(cuò)誤)
日志輸出的順序:和日志輸出級(jí)別一致,即配置為一個(gè)級(jí)別,輸出的內(nèi)容只能是該級(jí)別及其以上級(jí)別的信息,?INFO(輸出的包括 INFO WARN ERROR FATAL),ERROR(ERROR FATAL),?所以,一般情況下:在開(kāi)發(fā),測(cè)試環(huán)境中,日志的級(jí)別為DEBUG;在生產(chǎn)環(huán)境中,日志級(jí)別為INFO
(2)配置日志信息輸出目的地Appender
輸出目的地:日志輸出的各種各樣的目的地,都是通過(guò)Appender來(lái)進(jìn)行實(shí)現(xiàn)追加的,我們?cè)赼ppender中看到的PatternLayout的格式如下:
%m ? 輸出代碼中指定的消息
%n ? 輸出一個(gè)回車(chē)換行符,Windows平臺(tái)為“\r\n”,Unix平臺(tái)為“\n”
%p ? 輸出優(yōu)先級(jí),即日志級(jí)別:DEBUG,INFO,WARN,ERROR,FATAL
%r ? 輸出自應(yīng)用啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù)
%c ? 輸出所屬的類目,通常就是所在類的全名
%t ? 輸出產(chǎn)生該日志事件的線程名
%d ? 輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},輸出類似:2002年10月18日 ?22 : 10 : 28 , 921
%l ? 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。舉例:Testlog4.main(TestLog4.java: 10 )?
ConsoleAppender,FileAppender,DailyRollingFileAppender,RollingFileAppender,WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)
| ConsoleAppender(控制臺(tái)) | Threshold=WARN:指定日志消息的輸出最低層次。? ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。? Target=System.err:默認(rèn)情況下是:System.out,指定輸出控制臺(tái) |
| DailyRollingFileAppender(每天產(chǎn)生一個(gè)日志文件) | Threshold=WARN:指定日志消息的輸出最低層次。? ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。? File=mylog.txt:指定消息輸出到mylog.txt文件。? Append=false:默認(rèn)值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內(nèi)容。? DatePattern=”.”yyyy-ww:每周滾動(dòng)一次文件,即每周產(chǎn)生一個(gè)新的文件。? 當(dāng)然也可以指定按月、周、天、時(shí)和分。即對(duì)應(yīng)的格式如下:? 1)”.”yyyy-MM: 每月? 2)”.”yyyy-ww: 每周? 3)”.”yyyy-MM-dd: 每天? 4)”.”yyyy-MM-dd-a: 每天兩次? 5)”.”yyyy-MM-dd-HH: 每小時(shí)? 6)”.”yyyy-MM-dd-HH-mm: 每分鐘 |
| FileAppender(文件) | Threshold=WARN:指定日志消息的輸出最低層次。? ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。? File=mylog.txt:指定消息輸出到mylog.txt文件。? Append=false:默認(rèn)值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內(nèi)容。 |
| RollingFileAppender(文件大小到達(dá)指定尺寸的時(shí)候產(chǎn)生一個(gè)新的文件) | Threshold=WARN:指定日志消息的輸出最低層次。? ImmediateFlush=true:默認(rèn)值是true,意謂著所有的消息都會(huì)被立即輸出。? File=mylog.txt:指定消息輸出到mylog.txt文件。? Append=false:默認(rèn)值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內(nèi)容。? MaxFileSize=100KB:后綴可以是KB, MB 或者是 GB. 在日志文件到達(dá)該大小時(shí),將會(huì)自動(dòng)滾動(dòng),即將原來(lái)的內(nèi)容移到mylog.log.1文件。? MaxBackupIndex=2:指定可以產(chǎn)生的滾動(dòng)文件的最大數(shù)。 ? |
| ? | ? |
?
總結(jié)
以上是生活随笔為你收集整理的Log4j框架配置文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hadoop学习之MapReduce
- 下一篇: 如何扩大缓存区_艾莱依首个自动化仓落地,