Log4j 的簡單配置使用

2021-08-31 19:16:53 字數 3302 閱讀 9400

一、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...