您好,登錄后才能下訂單哦!
本文介紹了詳解log4j.properties的簡單配置和使用,分享給大家,具體如下:
簡單log4j.properties配置示例
### set log levels ### log4j.rootLogger = INFO , console , debug , error ### console ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n ### log file ### log4j.appender.debug = org.apache.log4j.DailyRollingFileAppender log4j.appender.debug.File = ../logs/springmvc-demo.log log4j.appender.debug.Append = true log4j.appender.debug.Threshold = INFO log4j.appender.debug.layout = org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n ### exception ### log4j.appender.error = org.apache.log4j.DailyRollingFileAppender log4j.appender.error.File = ../logs/springmvc-demo_error.log log4j.appender.error.Append = true log4j.appender.error.Threshold = ERROR log4j.appender.error.layout = org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n ###需要聲明,然后下方才可以使druid sql輸出,否則會拋出log4j.error.key not found log4j.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{ISO8601} %l %c%n%p: %m%n ### druid sql ### log4j.logger.druid.sql=warn,stdout log4j.logger.druid.sql.DataSource=warn,stdout log4j.logger.druid.sql.Connection=warn,stdout log4j.logger.druid.sql.Statement=warn,stdout log4j.logger.druid.sql.ResultSet=warn,stdout
JAVA 代碼部分
public Test{ Logger log = Logger.getLogger(Test.class)//log.info() 調用 }
需要log4j JAR包
Log4j支持兩種格式的配置文件:xml和properties;依賴commons-logging包
1、配置根logger
log4j.rootLogger=[level],appenderName,appenderName,......
level可分為OFF、 FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF則不打出任何信息,優先級為:error>warn>info>debug,不區分大小寫
可添加子類,例:
log4j.category.org.nutz=INFO, console, nutz
log4j.category.com.gtz=DEBUG, console, gtz
2、配置日志信息輸出地Appender
log4j.appender.appenderName = fully.qualified.name.of.appender.class log4j.appender.appenderName.option1 = value1 … log4j.appender.appenderName.optionN = valueN
輸出形式有4中:
org.apache.log4j.ConsoleAppender(控制臺)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)
可通過 log4j.appender.appenderName.MaxFileSize=100KB設置文件大小
還可通過 log4j.appender.appenderName.MaxBackupIndex=1設置為保存一個備份文件。
org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
3、配置日志信息的格式(布局)Layout
Layout 負責格式化Appender的輸出,語法為:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class log4j.appender.appenderName.layout.option1 = value1 … log4j.appender.appenderName.layout.optionN = valueN
其中,Log4j提供的layout有以下幾種:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以靈活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)
org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)
4、格式化日志信息
log4j.appender.appenderName.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
%m 輸出代碼中指定的消息
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL
%r 輸出自應用啟動到輸出該log信息耗費的毫秒數
%c 輸出所屬的類目,通常就是所在類的全名
%t 輸出產生該日志事件的線程名
%n 輸出一個回車換行符,Windows平臺為“rn”,Unix平臺為“n”
%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921
%l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。
Logger類:完成日志記錄,設置日志信息級別
Appender類:決定日志去向,終端、DB、硬盤
Layout類:決定日志輸出的樣式,例如包含當前線程、行號、時間
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。