国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Log4j Full

2019-11-18 11:24:12
字體:
來源:轉載
供稿:網友

Index

  1. Log4j的類圖
  2. Logger:日志寫出器
    1. Logger的輸出方法
    2. Logger的命名規則
    3. Log level
    4. 示例代碼
    5. 關于logger的兩點說明
  3. Appender:日志目的地
    1. ConsoleAppender
    2. FileAppender
    3. RollingFileAppender
  4. Layout:日志格式化器
    1. PatternLayout
    2. patterns in PatternLayout
  5. Configuration:配置
    1. 默認的log4j初始化過程
    2. BasicConfigurator.configure()
    3. xml格式的log4j配置文件概述
    4. 在xml文件中配置appender和layout
    5. 我自己的一個使用xml文件配置log4j環境的很簡單的例子
  6. Log4j的編碼習慣
  7. 參考資料


Log4j的類圖

  1. Logger - 日志寫出器,供程序員輸出日志信息
  2. Appender - 日志目的地,把格式化好的日志信息輸出到指定的地方去
    1. ConsoleAppender - 目的地為控制臺的Appender
    2. FileAppender - 目的地為文件的Appender
    3. RollingFileAppender - 目的地為大小受限的文件的Appender
  3. Layout - 日志格式化器,用來把程序員的logging request格式化成字符串
    1. PatternLayout - 用指定的pattern格式化logging request的Layout


Logger:日志寫出器

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的命名規則

Logger由一個String類的名字識別,logger的名字是大小寫敏感的,且名字之間具有繼續的關系,子名有父名作為前綴,用點號.分隔。如:x.yx.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的方法。


Log level

每個logger都被分配了一個日志級別 (log level),用來控制日志信息的輸出。未被分配level的logger將繼續它最近的父logger的level。

每條輸出到logger的日志請求(logging request)也都有一個level,假如該request的level大于等于該logger的level,則該request將被處理(稱為enabled);否則該request將被忽略。故可得知:

  1. logger的level越低,表示該logger越具體
  2. logging request的level越高,表示該logging request越優先輸出

Level類中預定義了五個level,它們的大小關系如下:

        Level.ALL < Level.DEBUG < Level.INFO < Level.WARN < Level.ERROR < Level.FATAL < Level.OFF      




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 探索| 图们市| 西峡县| 那曲县| 龙陵县| 邵阳市| 钟祥市| 阿尔山市| 珠海市| 手游| 遂川县| 台江县| 隆化县| 西畴县| 永和县| 香河县| 宕昌县| 游戏| 丹寨县| 沙坪坝区| 牙克石市| 海安县| 姚安县| 织金县| 武强县| 崇州市| 方山县| 新民市| 揭东县| 天台县| 陆丰市| 翁牛特旗| 营口市| 和龙市| 康马县| 新和县| 长垣县| 汤原县| 中江县| 上思县| 临澧县|