歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Log4j入門使用教程

Log4j入門使用教程

日期:2017/3/1 9:56:42   编辑:Linux編程

在應用程序中添加日志記錄總的來說基於三個目的:監視代碼中變量的變化情況,周期性的記錄到文件中供其他應用進行統計分析工作;跟蹤代碼運行時軌跡,作為日後審計的依據;擔當集成開發環境中的調試器的作用,向文件或控制台打印代碼的調試信息。

最普通的做法就是在代碼中嵌入許多的打印語句,這些打印語句可以輸出到控制台或文件中,比較好的做法就是構造一個日志操作類來封裝此類操作,而不是讓一系列的打印語句充斥了代碼的主體。

Log4j簡介

Log4j是Apache的一個開放源代碼項目,通過使用Log4j,我們可以控制日志信息輸送的目的地是控制台、文件、GUI組件、甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,我們能夠更加細致地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼.

Log4j 是一個開源的日志記錄組件,其產品已經相當的成熟,且使用非常的廣泛。在工程中可以易用,方便等代替了 System.out 等打印語句,它是JAVA下最流行的日志輸入工具,一些著名的開源項目,像spring、hibernate、struts都使用該工具作為日志輸入工具,可以幫助調試(有時候debug是發揮不了作用的)和分析。 Log4j 的目標是:它允許開發人員以任意的精細程度控制哪些日志說明被輸出。通過使用 外部的配置文件,可以在運行時配置它。 Log4j 的具體在 http://logging.apache.org/log4j/找到它(有使用的文檔說明)。另 外,log4j 已經被轉換成 C, C++, C#, Perl, Python, Ruby, 和 Eiffel 語言。一般情況下Log4j總是Apache Commons-logging一起用的,多了個東西不是更麻煩,而是更簡單!

Log4j組成:

Log4j中有三個主要的組件,它們分別是:Logger、Appender、Layout

Logger:Log4j 允許開發人員定義多個Logger,每個Logger擁有自己的名字,Logger之間通過名字來表明隸屬關系。有一個Logger稱為Root,它永遠存在,且不能通過名字檢索或引用,可以通過Logger.getRootLogger()方法獲得,其它Logger通過 Logger.getLogger(String name)方法。(這是我們最常用的方法)

Appender:Appender則是用來指明將所有的log信息存放到什麼地方,Log4j中支持多種appender,如 console、files、GUI components、NT Event Loggers等,一個Logger可以擁有多個Appender,也就是你既可以將Log信息輸出到屏幕,同時存儲到一個文件中。

Layout:Layout的作用是控制Log信息的輸出方式,也就是格式化輸出的信息。

Log4j中將要輸出的Log信息定義了5種級別,依次為DEBUG、INFO、WARN、ERROR和FATAL,當輸出時,只有級別高過配置中規定的級別的信息才能真正的輸出,這樣就很方便的來配置不同情況下要輸出的內容,而不需要更改代碼,比如配置輸出級別為ERROR,那麼程序的日志輸出就只有ERROR信息和FATAL信息,而沒有INFO信息和DEBUF信息。

Log4j的配置文件:

雖然可以不用配置文件,而在程序中實現配置,但這種方法在如今的系統開發中顯然是不可取的,能采用配置文件的地方一定一定要用配置文件。Log4j支持兩種格式的配置文件:Log4j 支持兩種配置文件格式,一種是 XML 格式的文件,一種是 Java 特性文件 lg4j.properties (鍵 = 值),properties文件簡單易讀,xml文件可以配置更多的功能(比如過濾),這個沒有睡好誰壞,哪個適合用哪個,用著順手的、能夠融會貫通的就是最好的。

Copyright © Linux教程網 All Rights Reserved