日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JDK日志框架之綜合實(shí)現(xiàn)淺析

JDK日志框架之綜合實(shí)現(xiàn)就是將之前的一切組合起來,實(shí)現(xiàn)一個JDK日志類的結(jié)合。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、汾陽網(wǎng)絡(luò)推廣、微信小程序、汾陽網(wǎng)絡(luò)營銷、汾陽企業(yè)策劃、汾陽品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供汾陽建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

JDK日志清單 12 描述了如何在一段實(shí)際的代碼中將 STAF 日志處理類和 JDK 日志類結(jié)合起來。 從清單 12 可以看出,該實(shí)例默認(rèn)指定輸出到 STAF 日志服務(wù)的日志名稱為“ staflogger ”。然后通過動態(tài)配置的方法來設(shè)定 Handler,Level 和 Formatter .最后在調(diào)用JDK的日志對象的log 方法記錄了 4 種自定義級別的日志。

JDK日志清單 12 一個完整的例子

package demo.staflog;

 
 
 
  1. import java.util.logging.Logger; 
  2. public class STAFLoggerTest { 
  3. public static void main(String[] args) { 
  4. Logger logger = Logger.getLogger(STAFLoggerTest.class.getName()); 
  5. logger.setUseParentHandlers(false); 
  6. logger.setLevel(STAFLevel.DEBUG); 
  7. STAFHandler stafHandler = new STAFHandler("staflogger"); 
  8. stafHandler.setLevel(STAFLevel.DEBUG); 
  9. stafHandler.setFormatter(new STAFFormatter()); 
  10. logger.addHandler(stafHandler); 
  11. //log 
  12. logger.log(STAFLevel.DEBUG, "debug log"); 
  13. logger.log(STAFLevel.FATAL, "fatal log"); 
  14. logger.log(STAFLevel.ERROR, "error log"); 
  15. logger.log(STAFLevel.TRACE, "trace log"); 

但我們也可以將這些代碼改為配置文件的方式,其配置文件如清單 13 所示:

JDK日志清單 13 STAFLog 類定義

◆設(shè)置日志對象的 Handler

demo.staflog.STAFLoggerTest.handlers= demo.staflog.STAFHandler

demo.staflog.STAFLoggerTest.level = DEBUG

◆取消發(fā)送日志到父 Logger 對象

demo.staflog.STAFLoggerTest.useParentHandlers = FALSE

◆設(shè)置 Handler 的名稱,輸出級別和格式化對象

demo.staflog.STAFHandler.name= staflogger

demo.staflog.STAFHandler.level = DEBUG

demo.staflog.STAFHandler.formatter = demo.staflog.STAFFormatter

這樣代碼可以簡化為清單 14 .

JDK日志清單 14 STAFLog 類定義

 
 
 
  1. public class STAFLoggerTest { 
  2. private static Level defaultLevel = STAFLevel.DEBUG; 
  3. public static void main(String[] args) { 
  4. //log 
  5. logger.log(STAFLevel.DEBUG, "debug log"); 
  6. logger.log(STAFLevel.FATAL, "fatal log"); 
  7. logger.log(STAFLevel.ERROR, "error log"); 
  8. logger.log(STAFLevel.TRACE, "trace log"); 

配置文件的方式相對于動態(tài)配置的方式更加靈活,因?yàn)檫@無需改變和重新編譯代碼,只需要修改配置文件,就能修改日志中 Handler,Level 和 Formatter 的組合配置,這對于已經(jīng)部署發(fā)布的軟件而言,有著更為實(shí)際的意義。

當(dāng)運(yùn)行代碼后,在命令行中輸入 STAF 命令來顯示 STAF 日志 staflogger:

 
 
 
  1. mymachine:~ myname$ staf local log query machine mymachine logname staflogger 
  2.  Response 
  3.  -------- 
  4.  Date-Time         Level Message   
  5.  ----------------- ----- ---------- 
  6.  20081111-16:15:21 Debug debug log 
  7.  20081111-16:15:21 Fatal fatal log 
  8.  20081111-16:15:21 Error error log 
  9.  20081111-16:15:21 Trace trace log

這顯示了我們剛才在 java 代碼中記錄的信息,它們已經(jīng)被輸出到 STAF 的日志服務(wù)中了。

結(jié)束語

那么綜上所述,JDK 日志框架簡單靈活,它雖然比 log4j 出現(xiàn)的時期晚,但其功能并不比 log4j 少。而且 JDK 日志框架直接隸屬于 JDK,被 Java 標(biāo)準(zhǔn)所支持而無需安裝第三方庫文件。本文介紹了 JDK 日志框架的結(jié)構(gòu),如何擴(kuò)展JDK 日志框架使之滿足實(shí)際的項(xiàng)目需求。并以如何在 Java 程序中將日志輸出到 STAF 的日志服務(wù)中為例,一步步描述了如何實(shí)現(xiàn)擴(kuò)展 JDK 日志組件,使之和 STAF 日志服務(wù)結(jié)合到一起,同時如何創(chuàng)建靈活的配置文件來組合日志框架組件。希望本文可以給其他需要擴(kuò)展JDK 日志組件的開發(fā)者提供幫助。


當(dāng)前標(biāo)題:JDK日志框架之綜合實(shí)現(xiàn)淺析
URL標(biāo)題:http://m.5511xx.com/article/dpdegse.html