麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Log4j使用教程

2019-11-14 15:19:09
字體:
供稿:網(wǎng)友

以前都是把所有日志都輸出到一個文件下面,今天有個同事問想把某個包下的日志輸出到

指定的地方,于是就在網(wǎng)上查了一些資料,總結(jié)一下,以免以后用到。

 

 

一、log4j是什么? 

Log4j是一個開源的日志記錄組件,其產(chǎn)品已經(jīng)相當(dāng)?shù)某墒欤沂褂梅浅5膹V泛。在工程中以易用,方便等代替了System.out 等打印語句。

Log4j的目標(biāo)是:它允許開發(fā)人員以任意的精細程度控制哪些日志說明被輸出。通過使用外部的配置文件,可以在運行時配置它。

Log4j的具體在http://logging.apache.org/log4j/找到它(有使用的文檔說明)。另外,log4j已經(jīng)被轉(zhuǎn)換成C, C++, C#, Perl, Python, Ruby, 和Eiffel 語言。

二、通常我們建立一個

log4j.PRoperties文件放在src下,編譯之后就生成在../web-inf/class/

當(dāng)然也可以放到其它任何目錄,只要該目錄被包含到類路徑中即可,中定位這個文件,并讀入這個文件完成的配置。這個配置文件告訴Log4J以什么樣的格式、把什么樣的信息、輸出到什么地方。

Log4j有三個主要的組件:Loggers(記錄器),Appenders(輸出源)和Layouts(布局),這里可簡單理解為日志類別,日志要輸出的地方和日志以何種形式輸出。

綜合使用這三個組件可以輕松的記錄信息的類型和級別,并可以在運行時控制日志輸出的樣式和位置。

下面對三個組件分別進行說明:

1、Loggers 

 Loggers組件在此系統(tǒng)中被分為五個級別:DEBUG、INFO、WARN、ERROR和FATAL。這五個級別是有順序的,DEBUG Log4j有一個規(guī)則:

假設(shè)Loggers級別為P,如果在Loggers中發(fā)生了一個級別Q比P高,則可以啟動,否則屏蔽掉。 

假設(shè)你定義的級別是info,那么error和warn的日志可以顯示而比他低的debug信息就不顯示了。

其語法表示為:org.apache.log4j.ConsoleAppender(控制臺)

 org.apache.log4j.FileAppender(文件)

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

 org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產(chǎn)生一個新的文件)

org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)

配置時使用方式為:

log4j.appender.appenderName = fully.qualified.name.of.appender.class 

log4j.appender.appenderName.option1 = value1 

…

log4j.appender.appenderName.option = valueN 

這樣就為日志的輸出提供了相當(dāng)大的便利。

3、Layouts 

有時用戶希望根據(jù)自己的喜好格式化自己的日志輸出。

Log4j可以在Appenders的后面附加Layouts來完成這個功能。

Layouts提供了四種日志輸出樣式,如根據(jù)HTML樣式、自由指定樣式、包含日志級別與信息的樣式和包含日志時間、線程、類別等信息的樣式等等。 

其語法表示為:

org.apache.log4j.HTMLLayout(以HTML表格形式布局)

org.apache.log4j.PatternLayout(可以靈活地指定布局模式) 

org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)

org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時間、線程、類別等等信息)

配置時使用方式為:

log4j.appender.appenderName.layout =fully.qualified.name.of.layout.class 

log4j.appender.appenderName.layout.option1 = value1 

log4j.appender.appenderName.layout.option = valueN 

Log4J采用類似C語言中的printf函數(shù)的打印格式格式化日志信息,打印參數(shù)如下:

  %m 輸出代碼中指定的消息

  %p 輸出優(yōu)先級,即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL 
  %r 輸出自應(yīng)用啟動到輸出該log信息耗費的毫秒數(shù) 
  %c 輸出所屬的類目,通常就是所在類的全名 
  %t 輸出產(chǎn)生該日志事件的線程名 
  %n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n” 
  %d 輸出日志時間點的日期或時間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},輸出類似: 2002年10月18日 22:10:28,921 
  %l 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。舉例:Testlog4.main(TestLog4.java:10)

 

4 . Log4j的配置

 以上是從原理方面說明Log4j的使用方法,在具體Java編程使用Log4j可以參照以下示例:

1、建立Logger實例:

語法表示:public static Logger getLogger( String name) 

實際使用:static Logger logger = Logger.getLogger(ServerWithLog4j.class.getName ())  

2、讀取配置文件:

獲得了Logger的實例之后,接下來將配置Log4j使用環(huán)境,語法表示:

或者直接放在src下把log4j.properties文件BasicConfigurator.configure():自動快速地使用缺省Log4j環(huán)境。

PropertyConfigurator.configure(String configFilename):讀取使用Java的特性文件編寫的配置文件。

DOMConfigurator.configure(String filename):讀取xml形式的配置文件。

實際使用:PropertyConfigurator.configure("ServerWithLog4j.properties"); 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲最新无码中文字幕久久 | 国产成人高清成人av片在线看 | 欧美精品激情在线 | 欧美一级黄色网 | 免费亚洲视频在线观看 | 黄色7777| 成人午夜精品久久久久久久蜜臀 | 午夜小电影 | 色99999| 亚洲精品无码不卡在线播放he | 国产资源在线播放 | 黄色网址在线免费播放 | jizzjizzjizz少妇 | 2023av在线视频 | 国产精品视频一区二区三区综合 | 日本中文不卡视频 | 美女视频黄视大全视频免费网址 | 久久亚洲国产午夜精品理论片 | 毛片免费视频 | 国产精品免费久久久久 | 免费a视频在线观看 | 免费午夜视频 | 黄色片网站免费观看 | 99国产精品国产免费观看 | 欧美国产一区二区三区 | 91久久一区 | 毛片在线免费观看完整版 | 欧美日本免费一区二区三区 | 天天都色| 激情九九| 久久免费观看一级毛片 | 久久久一区二区精品 | 久久精品无码一区二区三区 | 成年人网站视频免费 | 国产亚洲精品久久777777 | av黄色片网站 | 青青青在线免费 | 日产精品久久久一区二区开放时间 | 99视频有精品视频高清 | 国产羞羞网站 | 日本不卡一二三区 |