log4cpp乱码_Windows C++ log4cplus编译开发配置详细步骤

官方网站GitHub:

https://github.com/log4cplus

https://github.com/log4cplus/log4cplus

最新版需要C++2017,罢了

我用的是C++11的一个tag版本: https://github.com/log4cplus/log4cplus/tree/REL_2_0_4

下载解压,VS2017打开msvc14里的log4cplus.sln文件,

设置编译环境:

QT混合

1 用CMake打开源码根目录

2 必须设置Unicode  (所有工程:不管是log4cplus工程本身,还是其他任何用log4cplus的工程)

3 VS项目》属性》C/C++》语言》将WChar_t视为内置类型》否 (所有工程:不管是log4cplus工程本身,还是其他任何用log4cplus的工程)

4 QTCore-Dir      C:/Qt/Qt5.11.2/5.11.2/msvc2017_64/lib/cmake/Qt5Core

5 设置LOG4CPLUS_QT5

异步模式开启

异步模式需要开启,不然多线程同时写日志会有问题

需要到

https://github.com/log4cplus/ThreadPool

把.h和.cpp文件下载下来,放到

E:\log4cplus\log4cplus-REL_2_0_4\threadpool 目录里

Catch-master

下载:Catch-master.zip 解压后,把文件夹中的内容复制到 log4cplus-REL_2_0_4\catch中

编译

编译log4cplus这个dll工程

生成对应的

log4cplusD.lib/dll

log4cplus.lib/dll

直接添加到工程中使用即可。

初始化

log4cplus::Initializer initializer;

log4cplus::SharedAppenderPtr rollingFileAppender(new log4cplus::RollingFileAppender(LOG4CPLUS_TEXT("My.log"), 5 * 1024 * 1024, 10, true, true));

rollingFileAppender->setName(LOG4CPLUS_TEXT("MyRollingFileAppender"));

log4cplus::SharedAppenderPtr asyncAppender(new log4cplus::AsyncAppender(rollingFileAppender, 100));

auto pattern = LOG4CPLUS_TEXT("[%D{%Y-%m-%d %A %p %H:%M:%S %q}] [%-5p] %m [%l] [%c] [%t]%n");

rollingFileAppender->setLayout(std::unique_ptr(new log4cplus::PatternLayout(pattern)));

log4cplus::Logger logger(log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("MyLogger")));

logger.addAppender(asyncAppender);

退出log4cplus

//! Per threa

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值