日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

log4j配置文件配置及解读

發(fā)布時(shí)間:2024/8/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 log4j配置文件配置及解读 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說明:以下開發(fā)工具使用的是idea

一:打開idea,創(chuàng)建一個(gè)Maven管理的web項(xiàng)目

1. File->New->Module

2.Maven->勾選Create from archetype->選中maven-archetype-webapp

3.填入GroupId 和ArtifactId (這兒的內(nèi)容隨意),然后一路點(diǎn)默認(rèn)的Next

4.創(chuàng)建好的項(xiàng)目結(jié)構(gòu)如下圖所示

二:導(dǎo)入相關(guān)的jar,為了簡(jiǎn)潔我們只引用了兩個(gè)jar

<!--單元測(cè)試相關(guān)jar--> <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version> </dependency> <!--log4j相關(guān)jar--> <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.6.1</version> </dependency>

?三:添加log4j的配置文件

在src->main下新建resources文件夾,并在resources上右鍵,找到Mark?Directory as 選中Resources Root,然后新建log4j.properties配置文件,"log4j.properties"這個(gè)名字不要改動(dòng),否則會(huì)報(bào)錯(cuò),無需在web.xml里做任何配置

四:配置文件解讀

log4j.rootLogger=DEBUG,console,file #----------------輸出為控制臺(tái)-------------------# log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.Threshold=DEBUG log4j.appender.console.ImmediateFlush=true log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n #----------------輸出為文件-------------------# log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=log/log.txt log4j.appender.file.MaxFileSize=10mb log4j.appender.file.Threshold=ERROR log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

?1.配置文件中?log4j.rootLogger=debug,console,file,AAA,BBB,CCC,...

?其中第一個(gè)單詞為日志的輸出級(jí)別(輸出級(jí)別共有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL),

后面的console,file,AAA,BBB,CCC,...為輸出端,輸出端可以自定義,以","做分割

2.常用的輸出端有控制臺(tái)(ConsoleAppender)、文件(FileAppender、DailyRollingFileAppender、RollingFileAppender)、數(shù)據(jù)庫(JDBCAppender?)

3.現(xiàn)在以輸出到控制臺(tái)、文件、數(shù)據(jù)庫為例進(jìn)行說明

  • 輸出到控制臺(tái)console
log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.Threshold=DEBUG log4j.appender.console.ImmediateFlush=true log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n

log4j.appender.console.Target 的選項(xiàng)有System.error、System.out,常用后者;

log4j.appender.console.Threshold 輸入級(jí)別有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,需要說明的是這兒的輸出級(jí)別盡量要大于等于log4j.rootLogger 后面填寫的級(jí)別,否則不會(huì)有相應(yīng)的輸出;

log4j.appender.console.ImmediateFlush 默認(rèn)為true,可以不加這一行;

log4j.appender.console.layout 可渲染的輸出類型

log4j.appender.console.layout.ConversionPattern 輸出樣式?[%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n

? ? %m 輸出代碼中指定的消息?
 %p 輸出優(yōu)先級(jí),即DEBUG,INFO,WARN,ERROR,FATAL?
 %r 輸出自應(yīng)用啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù)?
 %c 輸出所屬的類目,通常就是所在類的全名??
 %t 輸出產(chǎn)生該日志事件的線程名?
 %n 輸出一個(gè)回車換行符,Windows平臺(tái)為"rn”,Unix平臺(tái)為"n”?
 %d 輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921   %l 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。?
? ? %x: 輸出和當(dāng)前線程相關(guān)聯(lián)的NDC(嵌套診斷環(huán)境),尤其用到像java servlets這樣的多客戶多線程的應(yīng)用中。?
? ? %%: 輸出一個(gè)”%”字符?
? ? %F: 輸出日志消息產(chǎn)生時(shí)所在的文件名稱?
? ? %M: 輸出執(zhí)行方法?
? ? %L: 輸出代碼中的行號(hào)?

  • 輸出到文件簡(jiǎn)潔配置
log4j.appender.file =org.apache.log4j.FileAppender log4j.appender.file.File=logs/doctorLog.txt log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}[%c]-%m%n

其中l(wèi)og4j.appender.file 常用的有

? ?org.apache.log4j.FileAppender(文件)

? ?org.apache.log4j.DailyRollingFileAppender(每天都產(chǎn)生一個(gè)日志文件)

? ?org.apache.log4j.RollingFileAppender(文件大小達(dá)到指定尺寸時(shí)產(chǎn)生一個(gè)新的日志文件,文件名稱上會(huì)自動(dòng)添加數(shù)字序號(hào)。)

log4j.appender.file.File 指定的是文件的輸出路徑,上面的寫法是相對(duì)項(xiàng)目的路徑,也可以配置成絕對(duì)路徑 例如D:/log。txt,推薦使用相對(duì)路徑;

  • 輸出到數(shù)據(jù)庫的配置(以MySQL為例)?
log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender log4j.appender.jdbc.driver=com.mysql.jdbc.Driver log4j.appender.jdbc.URL=jdbc:mysql://localhost:3306/school log4j.appender.jdbc.user=root log4j.appender.jdbc.password=123456 log4j.appender.jdbc.sql=insert into log (time,level,location,message) values ('%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m') log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout

log4j.appender.jdbc = org.apache.log4j.jdbc.JDBCAppender 是log4j提供的數(shù)據(jù)庫連接,參數(shù)需要自己配置

總結(jié)

以上是生活随笔為你收集整理的log4j配置文件配置及解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。