引言
日誌對於程式來說是非常重要的,特別是對一些大型程式而言。一旦程式被發布,在現場日誌幾乎是程式設計師唯一可以獲取程式資訊的手段。
poco使用poco::message 物件儲存和傳遞日誌資訊。
#include 「poco/message.h」
日誌訊息(message)包括:
此處只列出乙個,具體檢視文件
優先順序(priority)poco的定義八個訊息優先順序:
prio_fatal (最高優先順序)
prio_critical
prio_error
prio_warning
prio_notice
prio_information
prio_debug
prio_trace (最低優先順序)
**api介面:**
//可以通過函式設定和獲取訊息優先順序:
void setpriority(priority prio)
priority getpriority() const
poco::logger 是日誌框架的主入口點。
//!."httpserver.requesthandler.cgi" 繼承"httpserver.requesthandler"的級別和通道訪問日誌物件
#include "poco/logger.h"
using poco::logger;
int main(int argc, char** argv)
通道屬性
void setproperty(const
std::string& name, const
std::string& value)
std::string getproperty(const sdt::string& name)
例如檔案通道(filechannel),使用智慧型指標管理記憶體
//name屬性 說明
//path 主檔案路徑
//secondarypath 備用檔案路徑。預設為.1
void setproperty(const
std::string& name, const
std::string& value);
#include "poco/filechannel.h"
//例項化
autoptr模板類,型別為patternformatter
autoptrformatter(new patternformatter);
formatter->setproperty("times","local");
formatter->setproperty("pattern","%y-%m-%d-%m-%d
%h:%m:%s-%y:%t");
file_channel>setproperty("path",switchfilename(logfilename));
控制台通道(consolechannel)
autoptrconsole_channel(new consolechannel);
分發信道(splitterchannel)
void addchannel(channel* pchannel)//新增乙個新通道到poco::splitterchannel
#include
"poco/splitterchannel.h"
autoptr splitter_channel(new splitterchannel);
splitter_channel->addchannel(file_channel);
splitter_channel->addchannel(console_channel);
#include
"poco/logstream.h"
#include "poco/formattingchannel.h"
#include "poco/formatter.h"
autoptrpattern_formatter (new patternformatter("%l
%h:%m:%s-code line :%u-%u : %t"));
autoptrformatter_channle(new formattingchannel(pattern_formatter , file_channel));
模式格式化類(patternformatter) Poco Logger 日誌庫使用示例(中)
在上篇中已經介紹了loger的使用的大體的步驟,下面將引入實際的例子在來理解 1.獲取 root logger auto logger poco logger root 2.設定管道 2.1 建立控制台管道 poco autoptr consolechannel console channel ne...
如何使用Google日誌庫
google glog 是乙個c 語言的應用級日誌記錄框架,提供了 c 風格的流操作和各種助手巨集。1 開源專案首頁已經從遷移到 4 不需要更改工程屬性。平台工具集是否是windows xp v140 xp 好像並不影響。glog不支援unicode寬字符集,工程屬性字符集保持多位元組字符集。c c...
開源日誌庫Logger的使用
日誌對於開發來說是非常重要的,不管是除錯資料檢視 bug問題追蹤定位 資料資訊收集統計,日常工作執行維護等等,都大量的使用到。logger庫能提供的功能 執行緒資訊 類資訊方法資訊 漂亮的json內容列印 漂亮列印新行 n 清潔輸出 跳轉到源新增依賴 compile com.orhanobut lo...