Log4j.properties 屬性詳解
原文http://blog.csdn.net/dw_java08/article/details/7688473
我們可以在log4j.properies配置文件看到以下屬性:
我們可以在log4j.properies配置文件看到以下屬性:
#定義輸出級別和輸出平臺
log4j.rootLogger=INFO,stdout,fileout
#設定stdout輸出平臺
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%l]:%m%n
#每天一個日志文件
log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileout.File=test.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%l]:%m%n
#對不同的package定義不同的輸出級別
log4j.logger.com.daniel.test=DEBUG
分析:log4j.properies定義一般分3部分:
log4j.rootLogger(必須)、log4j.appender(必須)、log4j.logger(不必須)
1、log4j.rootLogger
這個配置是必須的,它的定義格式:
log4j.rootLogger = level , appenderName, appenderName, …
lelve是定義的輸出級別,低于該級別的將不會輸出,主要級別有OFF、ALL、FATAL、ERROR、WARN、INFO、DEBUG或自定義級別,其中OFF設定的話將不輸出任何信息,ALL設定的話將輸出所有信息;另外5個的級別FATAL>ERROR>WARN>INFO>DEBUG,如果你的lenel設定為INFO,那么不能輸出DEBUG信息;
appenderName是指定日志信息輸出到哪個地方,控制臺,文件等等,可同時指定多個輸出目的地。
2、log4j.appender
這個也是必須配置的,它是負責控制日志記錄操作的輸出。它的定義格式如下:
log4j.appender.appenderName=someAppender(選擇一種輸出平臺)
[log4j.appender.appenderName.File=文件名](文件輸出定義路徑)
log4j.appender.appenderName.layout=輸出布局
log4j.appender.appenderName.layout.ConversionPattern=輸出格式
log4j.appender.appenderName指定輸出appender,Log4J提供了一下幾種appender:
a),org.apache.log4j.ConsoleAppender(控制臺)
b),org.apache.log4j.FileAppender(文件)
c),org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
d),org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件,可通過log4j.appender.R.MaxFileSize=100KB設置文件大小,還可通過log4j.appender.R.MaxBackupIndex=1設置為保存一個備份文件)。
e),org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
log4j.appender.appenderName.layout指定日志信息的格式(布局)Layout,它負責格式化Appender的輸出。Log4j提供的layout有以下幾種:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以靈活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)
org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)。
log4j.appender.appenderName.layout.ConversionPattern格式化日志信息,Log4J采用類似C語言中的printf函數的打印格式格式化日志信息,打印參數如下:
%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},輸出類似:2012年06月24日 23:55:28,92
%l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。
3,log4j.logger
這個不是必需的,如果不配置這個,則采用log4j.rootLogger的level級別。它主要是具體到package、Class級別的info,它的定義格式如下:
log4j.logger.packageName[.ClassName]=level[,appender]
它也可以輸出到指定的appender,也可以不指定輸出到默認appender。
4,log4j的使用
a)、從www.apache.org下載commongs-logging包;
b)、在你的class里面定義protected final Log logger = LogFactory.getLog(this.getClass());
c)、在需要日志輸出的地方logger.info(...),logger.error(...),logger.debug(...),....注意,在使用時前最好做個判斷if (logger.isDebugEnabled()){logger.debug("...");}其他類似。
log4j.rootLogger=INFO,stdout,fileout
#設定stdout輸出平臺
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%l]:%m%n
#每天一個日志文件
log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileout.File=test.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%l]:%m%n
#對不同的package定義不同的輸出級別
log4j.logger.com.daniel.test=DEBUG
分析:log4j.properies定義一般分3部分:
log4j.rootLogger(必須)、log4j.appender(必須)、log4j.logger(不必須)
1、log4j.rootLogger
這個配置是必須的,它的定義格式:
log4j.rootLogger = level , appenderName, appenderName, …
lelve是定義的輸出級別,低于該級別的將不會輸出,主要級別有OFF、ALL、FATAL、ERROR、WARN、INFO、DEBUG或自定義級別,其中OFF設定的話將不輸出任何信息,ALL設定的話將輸出所有信息;另外5個的級別FATAL>ERROR>WARN>INFO>DEBUG,如果你的lenel設定為INFO,那么不能輸出DEBUG信息;
appenderName是指定日志信息輸出到哪個地方,控制臺,文件等等,可同時指定多個輸出目的地。
2、log4j.appender
這個也是必須配置的,它是負責控制日志記錄操作的輸出。它的定義格式如下:
log4j.appender.appenderName=someAppender(選擇一種輸出平臺)
[log4j.appender.appenderName.File=文件名](文件輸出定義路徑)
log4j.appender.appenderName.layout=輸出布局
log4j.appender.appenderName.layout.ConversionPattern=輸出格式
log4j.appender.appenderName指定輸出appender,Log4J提供了一下幾種appender:
a),org.apache.log4j.ConsoleAppender(控制臺)
b),org.apache.log4j.FileAppender(文件)
c),org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
d),org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件,可通過log4j.appender.R.MaxFileSize=100KB設置文件大小,還可通過log4j.appender.R.MaxBackupIndex=1設置為保存一個備份文件)。
e),org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
log4j.appender.appenderName.layout指定日志信息的格式(布局)Layout,它負責格式化Appender的輸出。Log4j提供的layout有以下幾種:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以靈活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)
org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)。
log4j.appender.appenderName.layout.ConversionPattern格式化日志信息,Log4J采用類似C語言中的printf函數的打印格式格式化日志信息,打印參數如下:
%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},輸出類似:2012年06月24日 23:55:28,92
%l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。
3,log4j.logger
這個不是必需的,如果不配置這個,則采用log4j.rootLogger的level級別。它主要是具體到package、Class級別的info,它的定義格式如下:
log4j.logger.packageName[.ClassName]=level[,appender]
它也可以輸出到指定的appender,也可以不指定輸出到默認appender。
4,log4j的使用
a)、從www.apache.org下載commongs-logging包;
b)、在你的class里面定義protected final Log logger = LogFactory.getLog(this.getClass());
c)、在需要日志輸出的地方logger.info(...),logger.error(...),logger.debug(...),....注意,在使用時前最好做個判斷if (logger.isDebugEnabled()){logger.debug("...");}其他類似。
本文由用戶 lihehua_1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!