您好,登錄后才能下訂單哦!
?當前使用的版本 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;
?
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"));
顯示的是本地時間,并且精確到毫秒
#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);
?
?
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 日志精確顯示毫秒
?
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。