Index

Logger對象是用來取代System.out或者System.err的日志寫出器,用來供程序員輸出日志信息。
Logger的輸出方法Logger類對象提供一系列方法供程序員輸出日志信息。
------ Log4j APIs : class Logger ------ // PRinting methods : public void debug(Object msg); public void debug(Object msg, Throwable t); public void info(Object msg); public void info(Object msg, Throwable t); public void warn(Object msg); public void warn(Object msg, Throwable t); public void error(Object msg); public void error(Object msg, Throwable t); public void fatal(Object msg); public void fatal(Object msg, Throwable t); // Generic printing method : public void log(Level l, Object msg);
Logger由一個String類的名字識別,logger的名字是大小寫敏感的,且名字之間具有繼續的關系,子名有父名作為前綴,用點號.分隔。如:x.y是x.y.z的父親。
根logger (root logger)是所有logger的祖先,它具有如下屬性:1) 它總是存在的;2) 它不可以通過名字獲得。
通過調用public static Logger Logger.getRootLogger()獲得root logger;通過調用public static Logger Logger.getLogger(String name)或者public static Logger Logger.getLogger(Class clazz)獲得(或者創建)一個named logger。后者相當于調用Logger.getLogger(clazz.getName())。
在某對象中,用該對象所屬的類為參數,調用Logger.getLogger(Class clazz)以獲得logger被認為是目前所知的最理智的命名logger的方法。
每個logger都被分配了一個日志級別 (log level),用來控制日志信息的輸出。未被分配level的logger將繼續它最近的父logger的level。
每條輸出到logger的日志請求(logging request)也都有一個level,假如該request的level大于等于該logger的level,則該request將被處理(稱為enabled);否則該request將被忽略。故可得知:
Level類中預定義了五個level,它們的大小關系如下:
Level.ALL < Level.DEBUG < Level.INFO < Level.WARN < Level.ERROR < Level.FATAL < Level.OFF
新聞熱點
疑難解答