Log4cxx配置檔案介紹

2021-05-21 21:27:02 字數 1661 閱讀 9006

log4cxx配置檔案介紹

2009-07-31 20:34

log4cxx配置由三個重要的元件構成:日誌資訊的優先順序,日誌資訊的輸出目的地,日誌資訊的輸出格式。

1.日誌資訊的優先順序

logger的語法:              

日誌資訊的輸出目的地             

…               

2.日誌資訊的輸出格式             

layout的語法:              

…               

3.log4j提供的layout有以下幾種:            

org.apache.log4j.htmllayout 以html**形式布局          

org.apache.log4j.patternlayout 可以靈活地指定布局模式          

org.apache.log4j.******layout 包含日誌資訊的級別和資訊字串         

org.apache.log4j.ttcclayout 包含日誌產生的時間、執行緒、類別等等資訊         

log4j採用類似c語言中的printf函式的列印格式格式化日誌資訊,列印引數如下:       

%m 輸出**中指定的訊息             

%p 輸出優先順序,即debug,info,warn,error,fatal          

%r 輸出自應用啟動到輸出該log資訊耗費的毫秒數           

%c 輸出所屬的類目,通常就是所在類的全名           

%t 輸出產生該日誌事件的執行緒名            

%n 輸出乙個回車換行符,windows平台為「/r/n」,unix平台為「/n」         

%d 輸出日誌時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式,比如:%d,輸出2023年11月14日 15:16:17,890

%l 輸出日誌事件的發生位置,包括類目名、發生的執行緒,以及在**中的行數。

log4cxx除錯日誌選擇性輸出的配置方法

一般是每個類都有自己的日誌, 可建立乙個靜態成員logger如下:

class a

;需要在cpp檔案中靜態初始化:

log4cxx::loggerptr a::logger = log4cxx::logger::getlogger("a");

日誌類別名"a"就是類名, 也可以是模組名.類名, 如"db.a".

log4cxx的慣例是使用這樣乙個靜態成員.

但也可以是靜態成員logger(), 這樣不必靜態初始化.

class a

};但從效率考慮, 每次呼叫日誌都要getlogger()不如靜態初始化.

類**中呼叫日誌只需:

log4cxx_debug(logger, "test log...");

日誌配置log4j.properties如下:

log4j.rootlogger=warn, r

# log4j.logger.db.a=debug

預設所有日誌等級為warn, 不會輸出debug日誌,

只需顯式設定某一類日誌的級別, 就可以選擇性地輸出該類日誌.

如除錯a類時, 取消配置檔案中的注釋就行了.

log4cxx配置案例

先看完整配置檔案log4cxx.properties html view plain copy log4j.additivity.gather false log4j.rootlogger debug r,stdout 設定子logger log4j.logger.lib a debug ap1,s...

log4cxx日誌系統

本文主要從log4cxx級別 layout 格式化 命名規則 filter幾個方面介紹。一 log4cxx命名規則 logger由乙個string類的名字識別,logger的名字是大小寫敏感的,且名字之間具有繼承的關係,子名有父名作為字首,用點號.分隔。如 x.y是x.y.z的父親。根logger ...

C 日誌系統log4cxx

直接使用yum安裝log4cxx.x86 64 庫檔案 log4cxx devel.x86 64 標頭檔案 yum install log4cxx.x86 64 庫檔案 yum install log4cxx devel.x86 64 標頭檔案 編譯安裝apr tar zxvf apr 1.5.2....