久久综合国产中文字幕,伊人久久大香线蕉一区,夜色福利少妇专区,亚洲日本va中文字带亚洲

    我要投稿 投訴建議

    c++log4cxx日志的詳解

    時(shí)間:2021-04-13 15:05:39 日志日記 我要投稿

    c++log4cxx日志的詳解

      一、log4cxx命名規(guī)則

    c++log4cxx日志的詳解

      Logger由一個(gè)String類(lèi)的名字識(shí)別,logger的名字是大小寫(xiě)敏感的,且名字之間具有繼承的關(guān)系,子名有父名作為前綴,用點(diǎn)號(hào).分隔。如:x.y是x.y.z的父親。根logger (root logger)是所有l(wèi)ogger的祖先, 它具有如下屬性:1) 它總是存在的;2) 它不可以通過(guò)名字獲得。通過(guò)調(diào)用public static Logger Logger.getRootLogger()獲得root logger;通過(guò)調(diào)用public static Logger Logger.getLogger(String name)或者public static Logger Logger.getLogger(Class clazz)獲得或者創(chuàng)建)一個(gè)named logger。后者相當(dāng)于調(diào)用Logger.getLogger(clazz.getName())。在某對(duì)象中,用該對(duì)象所屬的類(lèi)為參數(shù),調(diào)用Logger.getLogger(Class clazz)以獲得logger被認(rèn)為是目前 所知的最理智的命名logger的方法。

      二、log4cxx Log Level級(jí)別介紹

      每個(gè)logger都被分配了一個(gè)日志級(jí)別 (log level),用來(lái)控制日志信息的輸出。未被分配level的 logger將繼承它最近的父logger的level。每條輸出到logger的日志請(qǐng)求(logging request)也都有一個(gè) level,如果該request的level大于等于該logger的level,則該request將被處理(稱(chēng)為enabled);否則該 request將被忽略。故可得知:1、logger的level越低,表示該logger越詳細(xì) 2、logging request的 level越高,表示該logging request越優(yōu)先輸出 3、如果沒(méi)有設(shè)置日志記錄器(Logger)的級(jí)別,那么它將 會(huì)繼承最近的祖先的.級(jí)別。因此,如果在包c(diǎn)om.foo.bar中創(chuàng)建一個(gè)日志記錄器(Logger)并且沒(méi)有設(shè)置級(jí) 別,那它將會(huì)繼承在包c(diǎn)om.foo中創(chuàng)建的日志記錄器(Logger)的級(jí)別。如果在com.foo中沒(méi)有創(chuàng)建日志記錄 器(Logger)的話(huà),那么在com.foo.bar中創(chuàng)建的日志記錄器(Logger)將繼承root 日志記錄器(Logger) 的級(jí)別,root日志記錄器(Logger)經(jīng)常被實(shí)例化而可用,它的級(jí)別為DEBUG。

      Level類(lèi)中預(yù)定義了五個(gè)level,它們的大小關(guān)系如下:Level.ALL < Level.DEBUG < Level.INFO < Level.WARN < Level.ERROR < Level.FATAL < Level.OFF

      三、log4cxx(log4j) Log layout介紹

      org.apache.log4j.HTMLLayout(以HTML表格形式布局),

      org.apache.log4j.PatternLayout(可以靈活地指定布局模式),

      org.apache.log4j.SimpleLayout(包含日志信息的級(jí)別和信息字符串),

      org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時(shí)間、線(xiàn)程、類(lèi)別等等信息)

      四、log4cxx Log 格式化信息介紹

      Log4J采用類(lèi)似C語(yǔ)言中的printf函數(shù)的打印格式格式化日志信息,打印參數(shù)如下:

      %m 輸出代碼中指定的消息

      %p 輸出優(yōu)先級(jí),即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL

      %r 輸出自應(yīng)用啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù)

      %c 輸出所屬的類(lèi)目,通常就是所在類(lèi)的全名

      %t 輸出產(chǎn)生該日志事件的線(xiàn)程名

      %n 輸出一個(gè)回車(chē)換行符,Windows平臺(tái)為“rn”,Unix平臺(tái)為“n”

      %d 輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd

      HH:mm:ss,SSS},輸出類(lèi)似:2002年10月18日 22:10:28,921 %l 輸出日志事件的發(fā)生位置,包括類(lèi)目名

      、發(fā)生的線(xiàn)程,以及在代碼中的行數(shù)。

      五、log4cxx Log appender種類(lèi)介紹

      Log4cXX提供的appender種類(lèi):

      org.apache.log4j.ConsoleAppender 控制臺(tái)

      org.apache.log4j.DailyRollingFileAppender 每天產(chǎn)生一個(gè)日志文件

      org.apache.log4j.FileAppender 文件org.apache.log4j.RollingFileAppender 文件大小達(dá)到指定尺寸的

      時(shí)候產(chǎn)生一個(gè)新的文件

      六、log4cxx Log Filter介紹

      包括選擇過(guò)濾器和設(shè)置過(guò)濾條件,可選擇的過(guò)濾器包括:LogLevelMatchFilter、LogLevelRangeFilter、和 StringMatchFilter:

      1、對(duì)LogLevelMatchFilter來(lái)說(shuō),過(guò)濾條件包括LogLevelToMatch和AcceptOnMatch(true|false),只有 當(dāng)log信息的LogLevel值與LogLevelToMatch相同,且AcceptOnMatch為true時(shí)才會(huì)匹配。

      2、對(duì)LogLevelRangeFilter來(lái)說(shuō),過(guò)濾條件包括LogLevelMin、LogLevelMax和AcceptOnMatch,只有當(dāng)log信 息的LogLevel在LogLevelMin、LogLevelMax之間同時(shí)AcceptOnMatch為true時(shí)才會(huì)匹配。

      3、對(duì)StringMatchFilter來(lái)說(shuō),過(guò)濾條件包括StringToMatch和AcceptOnMatch,只有當(dāng)log信息的LogLevel 值與StringToMatch對(duì)應(yīng)的LogLevel值與相同,且AcceptOnMatch為true時(shí)會(huì)匹配。

      七、log4cxx additivity屬性介紹

      它是 子Logger 是否繼承 父Logger 的 輸出源(appender)的標(biāo)志位。具體說(shuō),默認(rèn)情況下子Logger會(huì)繼承父Logger的appender,也就是說(shuō)子Logger會(huì)在父Logger的appender里輸 出。若是additivity設(shè)為false,則子Logger只會(huì)在自己的appender里輸出,而不會(huì)在父Logger的appender里輸 出。

    【c++log4cxx日志的詳解】相關(guān)文章:

    Linux系統(tǒng)日志子系統(tǒng)詳解06-23

    舊日志傷感日志04-13

    日志05-01

    經(jīng)典的日志03-05

    日志君心幸福日志06-26

    心情日志:美麗的天山日志10-19

    歷史謎語(yǔ)及詳解06-06

    處變不驚詳解及造句02-07

    勤勉近義詞詳解02-26