log4j使用初窺

2021-07-04 05:26:05 字數 2275 閱讀 3399



**:log4j是apache的乙個開放源**的專案。通過使用log4j,程式設計師可以控制日誌資訊輸送的目的地,包括控制台,檔案,gui元件和nt事件記錄器,也可以控制每一條日誌的輸出格式,或通過定義每一條日誌資訊的級別,更加細緻地控制日誌的生成過程。下面的**是乙個例子:

//log4j

public void log4jdemo()

catch(filenotfoundexception e)

catch (ioexception e1)

}

}

logger被指定為實體,由乙個string類的名字識別。logger的名字是大小寫敏感的,且名字之間具有繼承關係,子名用父名作為字首,用點「.」分隔,例如x.y是x.y.z的父親。

root logger(根logger)是所有logger的祖先,它有如下屬性:

1.它總是存在的。

2.它不可以通過名字獲得。

root logger可以通過以下語句獲得:

public

static

logger logger.getrootlogger();

或:public

static

logger logger.getlogger(class clazz)

其中呼叫logger.getlogger(class clazz)是目前ogger物件最理想的方法。

b)日誌級別

每個logger都被了乙個日誌級別(log level),用來控制日誌資訊的輸出。日誌級別從高到低分為:

a:off         最高等級,用於關閉所有日誌記錄。

b:fatal       指出每個嚴重的錯誤事件將會導致應用程式的退出。

c:error      指出雖然發生錯誤事件,但仍然不影響系統的繼續執行。

d:warm     表明會出現潛在的錯誤情形。

e:info         一般和在粗粒度級別上,強調應用程式的執行全程。

f:debug     一般用於細粒度級別上,對除錯應用程式非常有幫助。

g:all           最低等級,用於開啟所有日誌記錄。

上面這些級別是定義在org.apache.log4j.level類中。log4j只建議使用4個級別,優先順序從高到低分別是error,warn,info和debug。通過使用日誌級別,可以控制應用程式中相應級別日誌資訊的輸出。例如,如果使用b了info級別,則應用程式中所有低於info級別的日誌資訊(如debug)將不會被列印出來。

package log4j;

import org.apache.log4j.basicconfigurator;

import org.apache.log4j.level;

import org.apache.log4j.logger;

public class log4jtest

}

public static void main(string args) catch(exception e)

logger.setlevel((level)level.debug);//覆蓋配置檔案中的級別

logger.debug("debug");

logger.info("info");

logger.warn("warn");

logger.error("error");

logger.fatal("fatal");

}

log4j的配置

propertyconfigurator.configure()方法:

當使用以下語句生成logger物件時:

static

logger logger 

=logger.getlogger(mycalss.

class

);如果沒有呼叫basicconfigurator.configure(),propertyconfigurator.configure()或domconfigurator.configure()方法,log4j會自動載入classpath下名為log4j.properties的配置檔案。如果把此配置檔案改為其他名字,例如my.properties,程式雖然仍能執行,但會報出不能正確初始化log4j系統的提示。這時可以在程式中加上:

propertyconfigurator.configure(

"classes/my.properties");

log4j日誌系統 Log4j

1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...

Log4j使用總結

一 介紹 log4j是apache的乙個開放源 專案,通過使用log4j,我們可以控制日誌資訊輸送的目的地是控制台 檔案 gui元件 甚至是套介面服務 器 nt的事件記錄器 unix syslog守護程序等 我們也可以控制每一條日誌的輸出格式 通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌...

Log4J使用總結

一 介紹 log4j是apache的乙個開放源 專案,通過使用log4j,我們可以控制日誌資訊輸送的目的地是控制台 檔案 gui元件 甚至是套介面服務 器 nt的事件記錄器 unix syslog守護程序等 我們也可以控制每一條日誌的輸出格式 通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌...