log4cplus应用之日志文件输出(三)

来源:互联网 发布:英语在线交流软件 编辑:程序博客网 时间:2024/05/17 22:09

log4cplus封装

log4cplus配置文件

log4cplus.logger.test1=TRACE,test1log4cplus.appender.test1=log4cplus::RollingFileAppender  log4cplus.appender.test1.MaxFileSize=40MBlog4cplus.appender.test1.MaxBackupIndex=4log4cplus.appender.test1.File=test1.loglog4cplus.appender.test1.ImmediateFlush=truelog4cplus.appender.test1.appendFile=truelog4cplus.appender.test1.layout=log4cplus::PatternLayoutlog4cplus.appender.test1.layout.ConversionPattern=[%D{%y-%m-%d %H:%M:%S:%q}] [%p] - %m%nlog4cplus.logger.test2=TRACE,test2log4cplus.appender.test2=log4cplus::RollingFileAppender  log4cplus.appender.test2.MaxFileSize=40MBlog4cplus.appender.test2.MaxBackupIndex=4log4cplus.appender.test2.File=test2.loglog4cplus.appender.test2.ImmediateFlush=truelog4cplus.appender.test2.appendFile=truelog4cplus.appender.test2.layout=log4cplus::PatternLayoutlog4cplus.appender.test2.layout.ConversionPattern=[%D{%y-%m-%d %H:%M:%S:%q}] [%p] - %m%nlog4cplus.logger.test3=TRACE,test3log4cplus.appender.test3=log4cplus::RollingFileAppender  log4cplus.appender.test3.MaxFileSize=40MBlog4cplus.appender.test3.MaxBackupIndex=4log4cplus.appender.test3.File=test3.loglog4cplus.appender.test3.ImmediateFlush=truelog4cplus.appender.test3.appendFile=truelog4cplus.appender.test3.layout=log4cplus::PatternLayoutlog4cplus.appender.test3.layout.ConversionPattern=[%D{%y-%m-%d %H:%M:%S:%q}] [%p] - %m%n

在程序初始化时,我们需要加载此配置文件。
log4cplus::initialize();
PropertyConfigurator::doConfigure(LOG4CPLUS_STRING_TO_TSTRING(“your config path”));

获取Logger对象
Logger::getInstance(LOG4CPLUS_STRING_TO_TSTRING(module));

输出文件日志:
LOG4CPLUS_DEBUG(Logger::getInstance(LOG4CPLUS_STRING_TO_TSTRING(module)), LOG4CPLUS_STRING_TO_TSTRING(msg));

如何封装带时间计数日志文件

应用背景

有时候,我们需要知道,我们调用的方法耗时多长时间,达到准确定位应用程序耗时问题。

封装代码

class LogFunc{public:    LogFunc(const char * module, const char * pFunc) :modu(module), qs(pFunc)  { L_DEBUG(modu, qs + " enter."); }    ~LogFunc()  { L_DEBUG(modu, qs + " exit."); }private:    std::string modu;    std::string qs;};class LogFuncTime{public:    LogFuncTime(const char * module, const char * pFunc) :modu(module), qs(pFunc)      {         L_DEBUG(modu, qs + " enter.");         nTime = GetTickCount();     }    ~LogFuncTime()      {        nTime = GetTickCount() - nTime;         std::string log = qs + " exit. Time = " + std::to_string(nTime);        L_DEBUG(modu, log);     }private:    std::string modu;    std::string qs;    INT64 nTime;};

封装Log4日志代码下载:

Log4cplus封装日志代码,包含函数时间耗时计数。

结尾

只为记录,只为分享! 愿所写能对你有所帮助。Good Good Study, Day Day Up!

2 0