国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

log4j配置

2019-11-14 21:51:23
字體:
來源:轉載
供稿:網友
log4j配置

Log4J的配置文件(Configuration File)就是用來設置記錄器的級別、存放器和布局的,它可接key=value格式的設置或xml格式的設置信息。通過配置,可以創建出Log4J的運行環境。1. 配置文件Log4J配置文件的基本格式如下:

#配置根Loggerlog4j.rootLogger=[level],appenderName1,appenderName2,…#配置日志信息輸出目的地Appenderlog4j.appender.appenderName=fully.qualified.name.of.appender.class  log4j.appender.appenderName.option1=value1  …  log4j.appender.appenderName.optionN=valueN#配置日志信息的格式(布局)log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class  log4j.appender.appenderName.layout.option1=value1  …  log4j.appender.appenderName.layout.optionN=valueN其中 [level] 是日志輸出級別,共有5級:FATAL0ERROR3WARN4INFO6DEBUG7Appender 為日志輸出目的地,Log4j提供的appender有以下幾種:org.apache.log4j.HTMLLayout(以HTML表格形式布局),org.apache.log4j.PatternLayout(可以靈活地指定布局模式),org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息) 打印參數: Log4J采用類似C語言中的PRintf函數的打印格式格式化日志信息,如下:  %p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL  %r 輸出自應用啟動到輸出該log信息耗費的毫秒數  %c 輸出所屬的類目,通常就是所在類的全名  %t 輸出產生該日志事件的線程名  %n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n”  %d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyMMMddHH:mm:ss,SSS},輸出類似:2002年10月18日22:10:28,921  %l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。舉例:Testlog4.main(TestLog4.java:10)2. 在代碼中初始化Logger:1)在程序中調用BasicConfigurator.configure()方法:給根記錄器增加一個ConsoleAppender,輸出格式通過PatternLayout設為"%-4r [%t] %-5p %c %x - %m%n",還有根記錄器的默認級別是Level.DEBUG. 2)配置放在文件里,通過命令行參數傳遞文件名字,通過PropertyConfigurator.configure(args[x])解析并配置;3)配置放在文件里,通過環境變量傳遞文件名等信息,利用log4j默認的初始化過程解析并配置;4)配置放在文件里,通過應用服務器配置傳遞文件名等信息,利用一個特殊的servlet來完成配置。3. 為不同的 Appender 設置日志輸出級別:當調試系統時,我們往往注意的只是異常級別的日志輸出,但是通常所有級別的輸出都是放在一個文件里的,如果日志輸出的級別是BUG!?那就慢慢去找吧。這時我們也許會想要是能把異常信息單獨輸出到一個文件里該多好啊。當然可以,Log4j已經提供了這樣的功能,我們只需要在配置中修改AppenderThreshold就能實現,比如下面的例子:[配置文件]log4j.rootLogger=debug,stdout,D,E###輸出到控制臺###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n###輸出到日志文件###log4j.appender.D=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File=logs/log.loglog4j.appender.D.Append=truelog4j.appender.D.Threshold=DEBUG##輸出DEBUG級別以上的日志log4j.appender.D.layout=org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-ddHH:mm:ss}[%t:%r]-[%p]%m%n###保存異常信息到單獨文件###log4j.appender.D=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File=logs/error.log##異常日志文件名log4j.appender.D.Append=truelog4j.appender.D.Threshold=ERROR##只輸出ERROR級別以上的日志!!!log4j.appender.D.layout=org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-ddHH:mm:ss}[%t:%r]-[%p]%m%n[代碼中使用]publicclassTestLog4j{publicstaticvoidmain(String[]args){PropertyConfigurator.configure("D:/Code/conf/log4j.properties");Loggerlogger=Logger.getLogger(TestLog4j.class);logger.debug("debug");logger.error("error");}}運行一下,看看異常信息是不是保存在了一個單獨的文件error.log中。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏尼特右旗| 宝丰县| 高邮市| 河北区| 竹北市| 栾川县| 离岛区| 台湾省| 台北市| 无棣县| 博湖县| 常宁市| 潞西市| 秭归县| 东明县| 宾川县| 连云港市| 阳朔县| 乌鲁木齐县| 兴海县| 无为县| 双牌县| 武山县| 田阳县| 深水埗区| 乐陵市| 嘉祥县| 宣城市| 特克斯县| 青海省| 监利县| 西畴县| 武乡县| 临武县| 邵武市| 淳安县| 泽库县| 璧山县| 公安县| 林甸县| 罗定市|