log4j配置文件配置及解读
說明:以下開發工具使用的是idea
一:打開idea,創建一個Maven管理的web項目
1. File->New->Module
2.Maven->勾選Create from archetype->選中maven-archetype-webapp
3.填入GroupId 和ArtifactId (這兒的內容隨意),然后一路點默認的Next
4.創建好的項目結構如下圖所示
二:導入相關的jar,為了簡潔我們只引用了兩個jar
<!--單元測試相關jar--> <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version> </dependency> <!--log4j相關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"這個名字不要改動,否則會報錯,無需在web.xml里做任何配置
四:配置文件解讀
log4j.rootLogger=DEBUG,console,file #----------------輸出為控制臺-------------------# 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,...
?其中第一個單詞為日志的輸出級別(輸出級別共有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL),
后面的console,file,AAA,BBB,CCC,...為輸出端,輸出端可以自定義,以","做分割
2.常用的輸出端有控制臺(ConsoleAppender)、文件(FileAppender、DailyRollingFileAppender、RollingFileAppender)、數據庫(JDBCAppender?)
3.現在以輸出到控制臺、文件、數據庫為例進行說明
- 輸出到控制臺console
log4j.appender.console.Target 的選項有System.error、System.out,常用后者;
log4j.appender.console.Threshold 輸入級別有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,需要說明的是這兒的輸出級別盡量要大于等于log4j.rootLogger 后面填寫的級別,否則不會有相應的輸出;
log4j.appender.console.ImmediateFlush 默認為true,可以不加這一行;
log4j.appender.console.layout 可渲染的輸出類型
log4j.appender.console.layout.ConversionPattern 輸出樣式?[%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n
? ? %m 輸出代碼中指定的消息?
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL?
%r 輸出自應用啟動到輸出該log信息耗費的毫秒數?
%c 輸出所屬的類目,通常就是所在類的全名??
%t 輸出產生該日志事件的線程名?
%n 輸出一個回車換行符,Windows平臺為"rn”,Unix平臺為"n”?
%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921 %l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。?
? ? %x: 輸出和當前線程相關聯的NDC(嵌套診斷環境),尤其用到像java servlets這樣的多客戶多線程的應用中。?
? ? %%: 輸出一個”%”字符?
? ? %F: 輸出日志消息產生時所在的文件名稱?
? ? %M: 輸出執行方法?
? ? %L: 輸出代碼中的行號?
- 輸出到文件簡潔配置
其中log4j.appender.file 常用的有
? ?org.apache.log4j.FileAppender(文件)
? ?org.apache.log4j.DailyRollingFileAppender(每天都產生一個日志文件)
? ?org.apache.log4j.RollingFileAppender(文件大小達到指定尺寸時產生一個新的日志文件,文件名稱上會自動添加數字序號。)
log4j.appender.file.File 指定的是文件的輸出路徑,上面的寫法是相對項目的路徑,也可以配置成絕對路徑 例如D:/log。txt,推薦使用相對路徑;
- 輸出到數據庫的配置(以MySQL為例)?
log4j.appender.jdbc = org.apache.log4j.jdbc.JDBCAppender 是log4j提供的數據庫連接,參數需要自己配置
總結
以上是生活随笔為你收集整理的log4j配置文件配置及解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乐高ev3python教程_入门篇丨使用
- 下一篇: 关于人工智能不会使大脑变懒惰的议论文_模