鍍金池/ 教程/ Java/ 概述
Logging 級(jí)別
使用文件記錄日志
PatternLayout
安裝
使用數(shù)據(jù)庫(kù)記錄日志
示例程序
架構(gòu)
Logging 方法
HTMLLayout
概述
配置
日志格式

概述

Log4j 是一個(gè)使用 Java 語(yǔ)言編寫(xiě)的,可靠、快速、靈活的日志框架(API),使用 Apache Software License 授權(quán)。

它被移植到 C、C++、C#、Perl、Python、Ruby 和 Eiffel 語(yǔ)言中。

Log4j 是高度可配置的,在運(yùn)行期使用外部的配置文件對(duì)其進(jìn)行配置。它按照優(yōu)先級(jí)別記錄日志,并可將日志信息定向輸出到各種介質(zhì),比如數(shù)據(jù)庫(kù)、文件、控制臺(tái)、Unix Syslog等。

Log4j 主要由三部分組成:

  • loggers:負(fù)責(zé)采集日志信息。
  • appenders:負(fù)責(zé)將日志信息發(fā)布到不同地方。
  • layouts:負(fù)責(zé)以各種風(fēng)格格式化日志信息。

Log4j 的歷史

  • 始于 1996 年,作為記錄E.U. SEMPER (Secure Electronic Marketplace for Europe)項(xiàng)目跟蹤信息的 API。
  • 經(jīng)過(guò)大量的完善和蛻變,最初的 API 終于演進(jìn)為 Log4j,一個(gè)在 Java 社區(qū)流行的日志類(lèi)庫(kù)。
  • 該類(lèi)庫(kù)使用 Apache Software License 授權(quán),該授權(quán)是經(jīng)開(kāi)源促進(jìn)協(xié)會(huì)認(rèn)證的、完整的開(kāi)源協(xié)議。
  • 最新版本的 Log4j,連同其代碼、類(lèi)文件和文檔可通過(guò) http://logging.apache.org/log4j/ 獲取。

Log4j 的功能

  • 線(xiàn)程安全。
  • 速度優(yōu)化。
  • 基于命名的 logger 層次。
  • 每個(gè) logger 支持多種輸出 appender。
  • 支持國(guó)際化。
  • 不受限于預(yù)定義好的設(shè)施。
  • 日志記錄行為可在運(yùn)行期通過(guò)配置文件設(shè)置。
  • 設(shè)計(jì)之初就考慮了處理 Java 異常。
  • 使用多個(gè)日志級(jí)別:ALL、TRACE、DEBUG、INFO、WARN、ERROR、FATAL。
  • 通過(guò)擴(kuò)展 Layout 類(lèi)可輕松改變輸出日志的格式。
  • 輸出日志的目的和策略可通過(guò)實(shí)現(xiàn) Appender 接口改變。
  • 失敗即停止。雖然 Log4j 努力做到最好,但不保證每一條日志都能發(fā)送到指定目的地。

記錄日志的優(yōu)缺點(diǎn)

記錄日志是軟件開(kāi)發(fā)中的重要一環(huán)。編寫(xiě)良好的日志代碼能為運(yùn)行應(yīng)用提供快速的診斷信息和良好的存儲(chǔ)結(jié)構(gòu),方便維護(hù)。

記錄日志也有其缺點(diǎn),它會(huì)讓?xiě)?yīng)用變慢。假如輸出太詳細(xì),可能會(huì)導(dǎo)致屏幕閃動(dòng)。為了減輕這些影響,Log4j 被設(shè)計(jì)為可靠的,更快的和可擴(kuò)展的。

由于日志很少是應(yīng)用程序關(guān)注的焦點(diǎn),所以 Log4j API 力爭(zhēng)做到簡(jiǎn)單并易于理解和使用。

上一篇:Logging 方法下一篇:日志格式