Java 日誌架構終極教程

來源:互聯網
上載者:User

標籤:導致   out   領域   記錄   log   lock   根據   相關   錯誤資訊   

概述

對於現代的 Java 應用程式來說,只要被部署到真實的生產環境,其日誌的重要性就是不言而喻的,很難想象沒有任何日誌記錄功能的應用程式被運行於生產環境中。日誌 API 所能提供的功能是多種多樣的,包括記錄程式運行時產生的錯誤資訊、狀態資訊、調試資訊和執行時間資訊等。在生產環境中,日誌是尋找問題來源的重要依據,應用程式運行時的產生的各種重要訊息,都應該通過日誌 API 來進行記錄。

很多Java開發人員習慣於使用 System.out.println、System.err.println 以及異常對象的 printStrackTrace 方法來輸出相關資訊。這些使用方式雖然簡便,但是所產生的資訊量比較少,而且也沒有被長久儲存下來,在應用出現問題需要尋找原因時,這些方式並不能提供有效協助。這些方式都不應該出現在正式的生產環境代碼中,而是應該改為使用 Java 日誌架構。使用日誌架構並沒有增加很多複雜度,但是所提供的好處是顯著的。

架構

記錄日誌是 Java 應用開發中必不可少的功能特性,在 JDK 的早期版本中並不包含日誌記錄相關的 API 和實現。從 JDK 1.4 開始,SUN 官方在  java.util.logging 包中開始引入了 Java Logging API,在本系列教程中一律簡稱為 logjdk。此外,Java 社區也開發和貢獻了很多開源、優秀的日誌 API 和實現。其中比較優秀的有 Log4j、Logback、Log4J2、Apache Commons Logging(ACL) 和 SLF4J等等。

無論是 JDK 中提供的 logjdk 架構,還是其他第三方提供的 Log4j、ACL 等架構,它們的目的都是為了滿足在 Java 應用中可以便利地和清晰地記錄日誌資訊的功能性需求。但是,這些架構在設計思路與理念在還是存在著巨大的差異,這也直接導致了它們在 Java 領域的市場份額的差異。此外,按照它們所處的層次差異與功能差異,可以將這些熱門的日誌架構分成兩個派系:
* Java 日誌實現架構:比如 logjdk、Log4j、Logback、Log4j2
* Java 日誌封裝架構:比如 ACL、SLF4J、Log4j2

Log4j2 比較特殊,既是一個實現架構,又是一個封裝架構。

針對在 Java 應用中進行日誌資訊記錄的這個常見性需求,JDK 平台和第三方卻提供了這麼多優秀的架構和選擇。對於 Java 的新手而言,如何選擇適合當前項目的日誌架構顯然是一個不可不解決的問題。筆者作為過來人,決定竭盡全力,在博採眾家之所長的情況下,為各位讀者朋友寫一個 Java 日誌架構相關的終極教程。考慮到各個架構的流程度和功能特性,本教程將優先講解如下列出的這些架構,後期根據實際情況可能會有調整。

java.util.logging(logjdk)
  • 深入分析Java的內建日誌API(java.util.logging)(一)
  • 深入分析Java的內建日誌API(java.util.logging)(二)
  • 深入分析Java的內建日誌API(java.util.logging)(三)
  • 深入分析Java的內建日誌API(java.util.logging)(四)
log4jlogbackApache Commons Logging(ACL)SFL4JLog4j2總結

日誌記錄對於任意一個 Java 應用而言都是必不可少的功能性需求,但是由於曆史原因,Java 領域出現了多種有優秀的日誌架構,Java 新手面對這樣的局面往往會感到迷茫。筆者作為過來人,希望在博採眾長的基礎上,寫出一篇 Java 日誌架構的終極教程,協助讀者朋友輕鬆掌握關於 Java 日誌記錄的所有知識點和技能。

Java 日誌架構終極教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.