您的位置:首页 > 其它

log4cplus使用备忘

2016-02-01 17:30 537 查看
参考文章:/article/1939739.html

本文仅以log4plus静态库的编译使用做个初步了解。

我下载到的源代码为log4cplus-1.2.0.7z。解压后(我的解压路径D:\CloudSync\Source\Common\)使用vs2010打开log4cplus-1.2.0\msvc10下的log4cplus.sln,然后批生成即可。

注意运行库的选择和你的项目的选择一致,推荐都使用MDd,MD.

生成的库文件路径为

D:\CloudSync\Source\Common\log4cplus-1.2.0\msvc10\Win32\bin.Debug

D:\CloudSync\Source\Common\log4cplus-1.2.0\msvc10\Win32\bin.Release

D:\CloudSync\Source\Common\log4cplus-1.2.0\msvc10\Win32\bin.Debug_Unicode

D:\CloudSync\Source\Common\log4cplus-1.2.0\msvc10\Win32\bin.Release_Unicode

使用VS2010新建项目为log4cplusTest空控制台项目,默认是unicode编码,MDd。

项目附加包含目录添加D:\CloudSync\Source\Common\log4cplus-1.2.0\include

Debug版本项目附加库目录添加D:\CloudSync\Source\Common\log4cplus-1.2.0\msvc10\Win32\bin.Debug_Unicode。

附加依赖项添加log4cplusSUD.lib,预处理器添加LOG4CPLUS_STATIC;

然后添加新建项:main.cpp,文件内容如下.

#include "log4cplus/loggingmacros.h"
#include "log4cplus/logger.h"//定义Log对象
#include "log4cplus/fileappender.h"//输出到文件
#include "log4cplus/layout.h"//输出格式

using namespace log4cplus;
using namespace log4cplus::helpers;

#include <string>
#include <vector>
using std::string;
using std::vector;

void main()
{
//定义文件Appender
SharedAppenderPtr pRollingFileAppender(new RollingFileAppender(LOG4CPLUS_TEXT("./log/log.log"), 200*1024, 5, true,true));
//定义Layout,并绑定到Appender上
log4cplus::tstring pattern = LOG4CPLUS_TEXT("%D{%Y/%m/%d %H:%M:%S,%Q} %p\t%% %m %% %n");
pRollingFileAppender->setLayout(std::auto_ptr<Layout>(new PatternLayout(pattern)));

//定义Logger
Logger logger = Logger::getInstance(LOG4CPLUS_TEXT("LoggerName"));

//设置Logger优先级
logger.setLogLevel(INFO_LOG_LEVEL);

//将需要关联Logger的Appender添加到Logger上
logger.addAppender(pRollingFileAppender);

for (int i = 0; i < 8000; i++)
{
//输出日志信息
LOG4CPLUS_INFO(logger, "this is a info log...");

LOG4CPLUS_DEBUG(logger, "this is a debug log...");

LOG4CPLUS_ERROR(logger, "this is a error log...");

LOG4CPLUS_WARN(logger, "this is a warn log...");

LOG4CPLUS_WARN_FMT(logger, _T("loop:%d asdfdsgdfgs"), i);
}

return;
}


执行结果:



之前我都是使用glog的,今天发现log4cplus更好用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: