中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

log4cplus 日志庫使用

發布時間:2020-06-01 06:26:04 來源:網絡 閱讀:1850 作者:fengyuzaitu 欄目:軟件技術

1 windows環境

1.1創建一個日志模板

?當前使用的版本 log4cplus-1.2.1-rc2

? ? ? ? staticbool bFirst = true;

???????? Logger_logger = Logger::getInstance(LOG4CPLUS_TEXT("thriftserver"));

???????? if(bFirst)

???????? {

?????????????????? SharedAppenderPtr_append(new RollingFileAppender(LOG4CPLUS_TEXT("thriftserver.log"),300 * 1024, 20));

?????????????????? auto_ptr<Layout>pPatternLayout(new PatternLayout("%D- %m [%l]%n"));

?????????????????? _append->setLayout(pPatternLayout);

?????????????????? _append->setName(LOG4CPLUS_TEXT("thriftserver"));

?????????????????? _logger.addAppender(_append);

?????????????????? bFirst= false;

???????? }

??????? return _logger;

?

1.2 日志攜帶時間戳

auto_ptr<Layout> pPatternLayout(newPatternLayout("%d- %m [%l]%n"));

顯示的是格林威治的時間

auto_ptr<Layout> pPatternLayout(newPatternLayout("%D- %m [%l]%n"));

顯示的是本地的時間

auto_ptr<Layout> pPatternLayout(new PatternLayout("%D{%Y-%m-%d %H:%M:%S.%q}- %m [%l]%n"));

顯示的是本地時間,并且精確到毫秒


1.3 使用例子

#include <log4cplus/loggingmacros.h>

#include <log4cplus/logger.h>

#include <log4cplus/fileappender.h>

?

#define LOGGERTAGLogger::getInstance(LOG4CPLUS_TEXT("thriftserver"))

?

log4cplus::LoggerStartSetupThrfitServerLog();

//在程序運行的時候創建日志文件,調用該函數

log4cplus::Logger StartSetupThrfitServerLog()

{

???????? staticbool bFirst = true;

???????? Logger_logger = Logger::getInstance(LOG4CPLUS_TEXT("thriftserver"));

???????? if(bFirst)

???????? {

?????????????????? SharedAppenderPtr_append(new RollingFileAppender(LOG4CPLUS_TEXT("thriftserver.log"),300 * 1024, 20));

?????????????????? auto_ptr<Layout>pPatternLayout(new PatternLayout("%D- %m [%l]%n"));

?????????????????? _append->setLayout(pPatternLayout);

?????????????????? _append->setName(LOG4CPLUS_TEXT("thriftserver"));

?????????????????? _logger.addAppender(_append);

?????????????????? bFirst= false;

???????? }

??????? return _logger;

}

?

//寫日志

LOG4CPLUS_ERROR(LOGGERTAG, "can notconnect remote host,ip:”<< ip);

?

?

2 Linux環境

log4cpp編譯安裝的路徑是/opt/log4cpp

?

問題:如何正確引入動態庫

1.修改/etc/ld.so.conf文件,將/opt/log4cpp/lib添加到文件末尾,該文件主要被ldconfig指令用來搜索可共享的動態鏈接庫

2.執行ldconfig,根據修改的文件內容,創建出動態裝入程序所需的連接和緩存文件,提供給系統動態庫調用

手動:

???g++ test.cpp -I/opt/log4cpp/include -L/opt/log4cpp/lib/ -llog4cpp-lpthread -o test

?

提示

test.cpp文件并沒有依賴多線程庫,但是log4cpp庫依賴,所以必須在命令中指定,并且由于庫的依賴次序:前面的庫依賴后面的庫,所以在log4cpp后面添加lpthread庫。如果不知道需要添加哪些庫依賴,可以參考/opt/log4cpp/bin/log4cp-config文件--libs --cflags輸出,如下提供了如何在編譯指令中添加log4cp-config

例子:

g++ test.cpp`/opt/log4cpp/bin/log4cpp-config --libs --cflags` -o maintest



修訂?

2019/8/23 日志精確顯示毫秒

?


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德州市| 宁武县| 安图县| 湖南省| 眉山市| 固原市| 长岭县| 三原县| 永新县| 晋中市| 峨眉山市| 普安县| 万安县| 远安县| 鲁甸县| 曲麻莱县| 安顺市| 特克斯县| 屏南县| 察哈| 太原市| 惠州市| 五大连池市| 威海市| 咸丰县| 侯马市| 军事| 西乌| 弥勒县| 全州县| 郓城县| 繁昌县| 桦川县| 淮安市| 当阳市| 曲麻莱县| 大关县| 舞阳县| 阳城县| 新津县| 辛集市|