Poco Logger 日誌庫使用示例(上)

2021-08-19 10:20:48 字數 2821 閱讀 3347

引言

日誌對於程式來說是非常重要的,特別是對一些大型程式而言。一旦程式被發布,在現場日誌幾乎是程式設計師唯一可以獲取程式資訊的手段。

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