log4j的簡(jiǎn)單應(yīng)用
當(dāng)程序有錯(cuò)誤時(shí),我們就需要找出錯(cuò)誤的地方并進(jìn)行驗(yàn)證,怎樣才能準(zhǔn)確快速的找到出錯(cuò)的地方呢,那就是在程序運(yùn)行時(shí)在控制臺(tái)上輸出相關(guān)的信息,從而可以判斷程序的運(yùn)行順序以及出錯(cuò)的位置。以前總是習(xí)慣使用System.out.println();進(jìn)行信息輸出,現(xiàn)在老師介紹了另一種輸出日志的方法,那就是log4j。
下面對(duì)log4j進(jìn)行簡(jiǎn)單介紹:Log4j中有三個(gè)主要的組件,它們分別是 Logger、Appender和Layout。1.Appender則是用來(lái)指明將所有的log信息存放到什么地方,Log4j中支持多種appender,如 console、files、GUI components、NT Event Loggers等,一個(gè)Logger可以擁有多個(gè)Appender,也就是你既可以將Log信息輸出到屏幕,同時(shí)存儲(chǔ)到一個(gè)文件中。2.Layout的作用是控制Log信息的輸出方式,也就是格式化輸出的信息。3.Log4j中將要輸出的Log信息定義了5種級(jí)別,依次是FATAL、ERROR、WARN、INFO、DEBUG,當(dāng)輸出時(shí),只有級(jí)別高過(guò)配置文件中規(guī)定的級(jí)別信息才能真正的輸出。Log4j支持兩 種格式的配置文件:XML格式和Java的property格式。
看一個(gè)demo:新建一個(gè)Log4jDemo的javaWeb工程,建一個(gè)Demo1.java
代碼如下:

















在web.xml中進(jìn)行配置,代碼如下:









導(dǎo)入log4j.jar和log4j.propertie配置文件,配置文件代碼如下:
#級(jí)別由高到低依次是:fatal、error、warn、info、debug
log4j.rootLogger=INFO,R,stdout
#debug 無(wú)法打印
#log4j.rootLogger=ERROR,R,stdout
#debug/infor/warn 無(wú)法打印
#log4j.rootLogger=DEBUG,R,stdout
#都可以打印
#log4j.rootLogger=warn,R,stdout
#info/debug無(wú)法打印
#log4j.rootLogger=fatal,R,stdout
#都不可以打印
#log4j.logger.com.cmcc=DEBUG
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
# 日志信息存放的文件位置
log4j.appender.R.File = ${catalina.home}/logs/fetionwapim.log
log4j.appender.R.DatePattern = yyyy-MM-dd'.log'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
# %r 自程序開(kāi)始后消耗的毫秒數(shù)
# %t 表示日志記錄請(qǐng)求生成的線程
# %p 表示日專語(yǔ)句的優(yōu)先級(jí)
# %r 與日志請(qǐng)求相關(guān)的類別名稱
# %c 日志信息所在的類名
# %m%n 表示日志信息的內(nèi)容
有關(guān)代碼的說(shuō)明已經(jīng)在配置文件中說(shuō)了,在此就不再多做說(shuō)明。
在瀏覽器中輸入訪問(wèn)地址,在控制臺(tái)上就會(huì)打印出信息:
2011-01-18 14:52:39,531 [http-8080-1] [com.dr.demo1.Demo1] [INFO] - welcome to log4j demo!
就到這吧,有不對(duì)的地方希望各位大蝦不吝賜教!
posted on 2011-01-18 14:54 馮魁 閱讀(1651) 評(píng)論(0) 編輯 收藏