最近为了使用c++11的一些特性,将工程升级到vs2015,发现原先的log4cplus输出中文有问题,调试发现log4cplus经过2015编译后,其initialize是在DLL_PROCESS_ATTACH时调用的,原先针对vs2010之前的中文问

题的修改方案("std::locale:global(std::locale("chs"))")已经没有效果了,所以需要通过直接修改

FileAppenderBase::imbue(std::locale const& loc)
{return out.imbue (loc);
}

此处的输出流locale设置,所以在使用的地方

// 定义一个滚动文件的Appender
SharedFileAppenderPtr pRollingFileAppender(new RollingFileAppender(strFileName.GetString(), 1024 * 1024 * 10, 5, true, true));
std::locale lc("chs");
//std::locale::global(lc);
pRollingFileAppender->imbue(lc);
pRollingFileAppender->setLayout(std::unique_ptr<Layout>(new PatternLayout(L"%D%d{.%q} - %m%n")));

// 定义Logger,并设置优先级
Logger logger = Logger::getRoot();
logger.setLogLevel(INFO_LOG_LEVEL);// 将需要关联Logger的Appender添加到Logger上
logger.addAppender(SharedAppenderPtr(pRollingFileAppender.get()));
Logger::getRoot().log(INFO_LOG_LEVEL, L"Initialize", __FILE__, __LINE__);

通过定义locale,设置使用的fileappender的imbue就可以了,同时保证程序和log4cplus的运行时环境要一致(我的为MDd).

vs2015 c++11 log4cplus 中文问题相关推荐

  1. JDK 11 API中文帮助文档.CHM文档无法打开问题

    JDK 11 API中文帮助文档.CHM文档无法打开问题 1)开始–运行–输入"regedit",打开注册表,找到以下分支:找到计算机\HKEY_LOCAL_MACHINE\SOF ...

  2. Java开源的11个中文分词器使用方法和分词效果对比

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

  3. openSUSE 11.2 中文输入法 SCIM 安装

    是昨天,虚拟机进入openSUSE之后,发现打不了中文了,怎么按Ctrl+Shift都没反应, 好像,是好像记得以前有的,不知咋的就不见了. 于是又开始弄弄了. 参考源忘了,反正百度一下就差不多有了, ...

  4. VS2015+qt5.11入门(实现计算机的加法和登录操作)

    1.在vs中新建qt项目 2.打开Form Files中的.ui文件.即打开qt creator界面 3.在界面中添加两个label,两个LineEdit,一个计算按钮.点击保存 控件右击--> ...

  5. 9、10、11、12、13_添加标注 (Annotations)、添加网格线(Grid Lines)、显示中文字体、保存图形(saving Figures)、高质量矢量图输出

    9.添加标注 (Annotations) 10.添加网格线(Grid Lines) 11.显示中文字体 12.保存图形(saving Figures) 13.高质量矢量图输出 9.添加标注 (Anno ...

  6. hive_0.11中文用户手册

    hive_0.11的中文翻译,工作空闲时间翻译的,希望做hadoop,hive的朋友一起帮忙看看,顺便指正翻译晦涩的地方. 免费下载一月. http://down.51cto.com/data/892 ...

  7. VS2015配置内核WDK7600环境,32位下.

    VS2015配置内核WDK7600环境,32位下. 学习内核驱动的编写,就要会配置环境.不然总是用记事本编写.比较不方便. 环境配置如下. 1.首先下载WDK7600, 课堂资料代码中已经上传.链接: ...

  8. 《预训练周刊》第7期:傅立叶图像变换器解析、阿里达摩院发布最大中文预训练语言模型PLUG

    No.07 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 ‍‍‍超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第7期 ...

  9. 后端开发常用框架文档及中文翻译

    https://www.docs4dev.com 包含 Spring 系列文档(Spring, Spring Boot, Spring Cloud, Spring Security, Spring S ...

最新文章

  1. java 常量pi_JAVA的常量
  2. python分支switch_Python分支结构(switch)操作简介
  3. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类
  4. 常见位操作:获取,设置,清零
  5. 练习题︱streamlit + opencv/YOLOv3 快速构建自己的图像目标检测demo网页
  6. ZooKeeper Watcher注意事项
  7. paip.提升效率---------文件搜索工具总结
  8. Android 代码混淆 以及 反编译 的实现
  9. NorthWind基本数据库添加问题
  10. 带宽与响应速度的关系
  11. 红帽子Linux7安装Oracle,RedHat Enterprise Linux7.0安装Oracle 12C
  12. 二维正态分布参数rho的作用
  13. 洛谷 P1035 级数求和【二分||枚举】
  14. wpf label下划线不显示的问题
  15. 跟随器为何要加反馈电阻?
  16. Ubuntu下图片转pdf和pdf合并
  17. 使用Python的Scrapy框架编写web爬虫的简单示例
  18. Ubuntu/Deepin下Python3.8出现SSL错误的解决方案
  19. Y - 区域内点的个数
  20. Sers微服务快速入门-02.快速接入

热门文章

  1. 视听领域:LED显示相关知识简单介绍--------2021-07-07
  2. visual assist x太卡了_搭载11代酷睿3.3K触摸屏纵享奢华,华硕灵耀X纵横全面评测...
  3. 假如鲁迅是程序员。。。
  4. 使用Vagrant搭建openstack或ovn环境(by quqi99)
  5. web远程访问Windows桌面(二)
  6. 风讯 4.0之前所有版本通杀拿SHELL 0day
  7. 7-5求解田忌赛马问题
  8. hide and seek openai
  9. matlab 职坐标,C/C++知识点之Matlab 与 c++对txt 文档的读写格式
  10. 真实性渲染技术 Photo-realistic rendering