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

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

即時日志記錄:使用 Jabber 增強 log4j 的功能

2019-11-18 11:23:22
字體:
來源:轉載
供稿:網友

學習如何用自己的 appender 來擴展 log4j 框架

級別:高級

Ruth Zamorano (ruth.zamorano@orange-soft.com),軟件架構師,Orange Soft
Rafael Luque (rafael.luque@orange-soft.com), CTO,Orange Soft

2003年 9 月

日志記錄不僅是開發和測試周期中的一個重要元素——提供要害調試信息,而且對于系統已部署到生產環境之后調試錯誤也是很有用的——提供修復錯誤所需的準確上下文信息。在本文中,Orange Soft 公司(這是一家專業從事面向對象技術、服務器端java 平臺和 Web 可訪問性的西班牙公司)的共同創辦人 Ruth Zamorano 和 Rafael Luque 闡述了如何利用 log4j 的擴展能力,使得分布式 Java 應用程序能夠通過即時消息傳送(instant messaging,IM)來監視。

不管您編寫多少設計良好的測試用例,即使是最小的應用程序也會在部署到生產環境之后隱藏著一個或多個錯誤。雖然測試驅動的開發和 QA 手段可以提高代碼質量 并增強對應用程序的信心,但是當某個系統失敗時,開發人員和系統治理員需要了解系統的相關執行上下文信息。有了適當的信息,他們就能確定問題的本質并快速解決問題,從而節省時間和金錢。

監視分布式應用程序要求能夠對遠程資源進行日志記錄——通常是一臺中心日志服務器或者系統治理員的計算機。log4j 環境提供一組適用于遠程日志記錄的 appender,比如 SocketAppender、JMSAppenderSMTPAppender。在本文中,我們將向您展示一種新的遠程類(remote-class)appender:IMAppender

讓我們首先簡要回顧一下 log4j ,然后再深入研究 appender。自然地,理解 appender 的最好方式就是試著編寫一個 appender,因此我們將在最后一節實現一個例子 IM(即時消息傳送)appender,以說明 AppenderSkeleton 類的工作原理。

讀者應該熟悉 log4j 框架。關于 log4j 的更多信息,請參見本文后面的 參考資料 。

log4j 概述
log4j 框架是用 Java 語言編寫的事實上的標準日志記錄框架。作為 Jakarta 項目的一部分,它在 Apache 軟件許可證(Apache Software License)下分發,Apache 軟件許可證是由開放源代碼促進會(Open Source Initiative ,OSI)認證的一種流行的開放源代碼許可證。log4j 環境是完全可配置的,或者通過編程方式完成,或者通過屬性中的配置文件或者 xml 格式的配置文件完成。此外,它還答應開發人員無需修改源代碼就可以選擇性地篩選出日志記錄請求。

log4j 環境包括三個主要組件

  • logger(日志記錄器):控制要啟用或禁用哪些日志記錄語句??梢詫θ罩居涗浧髦付ㄈ缦录墑e:ALLDEBUG、INFO、WARN、ERROR, FATA或OFF。

  • layout(布局):根據用戶的愿望格式化日志記錄請求。

  • appender:向目的地發送格式化的輸出。

理解 appender
log4j 框架答應向任何日志記錄器附加多個 appender??梢栽谌魏螘r候對某個日子記錄器添加(或刪除)appender。附隨 log4j 分發的 appender 有多個,包括:

  • ConsoleAppender
  • FileAppender
  • SMTPAppender
  • JDBCAppender
  • JMSAppender
  • NTEventLogAppender
  • SyslogAppender

也可以創建自己的自定義 appender。

log4j 最主要的特性之一就是它的靈活性。遺憾的是,沒有多少現存文檔說明了如何編寫自己的 appender。學習編寫 appender 的方式之一就是分析可用的源代碼,然后嘗試推斷 appender 是如何工作的——本文將幫助 您完成這個任務。

揭開面紗
所有的 appender 都必須擴展 org.apache.log4j.AppenderSkeleton 類,這是一個抽象類,它實現了 org.apache.log4j.Appenderorg.apache.log4j.spi.OptionHandler 接口。AppenderSkeleton 類的 UML 類圖看起來如圖1所示:

圖 1. AppenderSkeleton 的 UML 類圖


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 稷山县| 墨江| 抚宁县| 天等县| 贞丰县| 德昌县| 弋阳县| 栾城县| 潮州市| 西城区| 石林| 同德县| 鄂尔多斯市| 漳浦县| 金华市| 舞钢市| 青岛市| 朝阳区| 东山县| 南溪县| 额济纳旗| 金塔县| 凭祥市| 阿尔山市| 基隆市| 九龙坡区| 隆尧县| 惠州市| 迁西县| 且末县| 吐鲁番市| 泽州县| 方正县| 汪清县| 霍城县| 东兴市| 竹山县| 乌苏市| 彰化市| 乌苏市| 保亭|