一、log4j的簡介
1. log4j是apache的乙個開源專案,通過使用log4j,我們可以控制日誌資訊輸送的目的地是控制台、檔案、gui元件,甚至是套介面伺服器、nt的事件記錄器、unix syslog守護程序等;我們也可以控制每一條日誌的輸出格式;通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌的生成過程。最令人感興趣的就是,這些可以通過乙個配置檔案來靈活地進行配置,而不需要修改應用的**。
3.日誌的級別
日誌的級別有:trace、debug、info、error、warn、fatal或者我們自己定義的級別,級別由低到高如下:
trace:等級最低,用於將這些等級的日誌都寫入到日誌中。
debug:一般用於細粒度級別上,對除錯應用程式非常有幫助。
info: 一般和在粗粒度級別上,強調應用程式的執行全程。
error: 指出雖然發生錯誤事件,但仍然不影響系統的繼續執行。
warn: 表明會出現潛在的錯誤情形。
fatal:指出每個嚴重的錯誤事件將會導致應用程式的退出。
2.配置日誌資訊輸出目的地
3.配置日誌資訊的格式
(1)org.apache.log4j.htmllayout(以html**形式布局),
(2)org.apache.log4j.patternlayout(可以靈活地指定布局模式),
(3)org.apache.log4j.******layout(包含日誌資訊的級別和資訊字串),
(4)org.apache.log4j.ttcclayout(包含日誌產生的時間、執行緒、類別等等資訊)
配置具體的日誌資訊格式
如果使用pattern布局就要指定的列印資訊的具體格式conversionpattern,列印引數如下:
%m 輸出**中指定的訊息;
%m 輸出列印該條日誌的方法名;
%p 輸出優先順序,即debug,info,warn,error,fatal;
%r 輸出自應用啟動到輸出該log資訊耗費的毫秒數;
%c 輸出所屬的類目,通常就是所在類的全名;
%t 輸出產生該日誌事件的執行緒名;
%n 輸出乙個回車換行符,windows平台為"rn」,unix平台為"n」;
%d 輸出日誌時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式,比如:%d, 輸出類似:2002-10-18 22:10:28,921;
%l 輸出日誌事件的發生位置,及在**中的行數;
[qc]是log資訊的開頭,可以為任意字元,一般為專案簡稱。
則會列印出:[framework] 2018-11-15 11:10:49,068 - org.apache.jsp.log4jtest_jsp -2 [http-nio-8080-exec-2] debug org.apache.jsp.log4jtest_jsp - this is debug
二、使用示例
1.目錄結構
2.首先導如log4j的包
3.配置log4j的配置檔案,如下:
#debug,console,file,rolling_file,mail,database
log4j.addivity.org.apache=true
###################
###################
#####################
#####################
#用絕對路徑
# use this layout for logfactor 5 analysis
########################
# rolling file
########################
####################
####################
# set up for log facter 5
t[thread]%n%c[category]%n%m[message]%n%n
########################
########################
########################
#######################
########################
#######################
#[%t] %-5p %c %x - %m%n')
3.logutils
package com.testlog4j.util;
import org.apache.log4j.logger;
public class logutil
public logger getlogger()
public static logutil getinstance()
return util;
} }
4.測試
logutil.getinstance().getlogger().debug("this is debug");
logutil.getinstance().getlogger().info("this is info");
logutil.getinstance().getlogger().warn("this is warn");
logutil.getinstance().getlogger().error("this is error");
//第乙個getlogger()是自己在logutil類中寫的,第二個是log4j自帶的,傳入本類名,以便在列印時看到是這個類列印出來的
logutil.getinstance().getlogger().getlogger(this.getclass()).debug("this is debug");
%>
輸出到控制台的日誌資訊
輸出到檔案的日誌資訊
log4j日誌配置使用簡單總結
配置檔案裡可以設定 輸出資訊到 在伺服器裡。或某個檔案裡 輸出的格式 有html的,一般輸出等 輸出的級別 只有高於這個級別的才輸出debug,info,error 輸出級別 debuglayout 就是指定日誌訊息的格式 配置如下 有以下幾種layout org.apache.log4j.html...
log4j配置和使用
log4j的配置如下 配置日誌的等級,日誌有好多級別,本文等級為debug,輸出位址為console。log4j.rootlogger debug,console,a 配置是否在螢幕中顯示,預設為true,log4j.addivity.org.apache false 配置在控制台輸出 設定等級為d...
Log4j的配置與使用
log4j的運用 1 引入jar包 log4j 1.2.14.jar commons logging 1.1 2 配置log4j.properties到專案中 log4j.rootlogger info,console,file layout表示日誌資訊的輸出格式風格 1.org.apache.lo...