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....