博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2012编译log4cpp1.1.1版本
阅读量:7174 次
发布时间:2019-06-29

本文共 1545 字,大约阅读时间需要 5 分钟。

1.起因

看到官方网站上的log4cpp的代码已经更新到了1.1.1,而我目前使用的1.0.3版本,所以想使用下最新版本。在使用过程中发现相对于老版本,新版本的变化还是比较大的,特写下此文记录下。

2.环境部署

其实新版本很早就已经发布了,只是很久没更新所以才会落后,新版本可以从 上去下载。下载后将其解压缩到本地,可以看到它自带了默认的工程仅支持到VS2010。这样就很简单了,我们复制下msvc10,将其重命名为msvc11,就像下图一样

051130425784737.png
然后进入该文件夹,将msvc10.sln文件重命名为msvc11.sln,然后用VS2012打开。由于我们是用高版本打开低版本项目工程文件,因此在打开过程中会提示我们是否进行项目更新,选择全部更新即可,处理以后的街内容如下图
051132365318825.png
到此环境部署工作已经结束。

3.编译步骤

log4cpp的解决方案设置比较完整,基本不需要我们修改什么就可以直接编译成功。在这里我们只需要按照自己的需要编译动态库版本(log4cpp)或者静态库版本(log4cppLIB)即可,在对应的工程项目文件夹内会产生对应的库文件。

编译结束。

4.使用步骤

  • 4.1.提取必要的库文件
    我这里使用的时log4cpp动态库版本,因此提取了log4cpp.lib和log4cpp.dll两个文件,分别放在合适的地方
  • 4.2.提取头文件
    提取log4cpp/include内的所有文件,也可以用路径包含的方式指向该文件夹
  • 4.3.编写配置文件
    参考测试实例的配置文件,可以按照自己的需要写一份。我这里按照我的需要写了一份,大家可以点击进行下载,下载以后按照自己的需要进行修改下即可。
  • 4.4.编写使用代码

    参考实例中的代码,可以很容易的实现调用,我这里就不累述了。

    5.配置说明

  • 5.1.输出格式含义
    %c category;
    %d 日期;日期可以进一步的设置格式,用花括号包围,例如%d{%H:%M:%S,%l} 或者 %d{%d %m %Y %H:%M:%S,%l}。如果不设置具体日期格式,则如下默认格式被使用“Wed Jan 02 02:03:55 1980”。日期的格式符号与ANSI C函数strftime中的一致。但增加了一个格式符号%l,表示毫秒,占三个十进制位。
    %m 消息;
    %n 换行符,会根据平台的不同而不同,但对于用户透明;
    %p 优先级;
    %r 自从layout被创建后的毫秒数;
    %R 从1970年1月1日0时开始到目前为止的秒数;
    %u 进程开始到目前为止的时钟周期数;
    %x NDC。
  • 5.2.输出形式列表

    log4cpp::IdsaAppender // 发送到IDS或者
    log4cpp::FileAppender // 输出到文件
    log4cpp::RollingFileAppender // 输出到回卷文件,即当文件到达某个大小后回卷
    log4cpp::OstreamAppender // 输出到一个ostream类
    log4cpp::RemoteSyslogAppender // 输出到远程syslog服务器
    log4cpp::StringQueueAppender // 内存队列
    log4cpp::SyslogAppender // 本地syslog
    log4cpp::Win32DebugAppender // 发送到缺省系统调试器
    log4cpp::NTEventLogAppender // 发送到win 事件日志

    6.总结

    log4cpp的日志库是一个非常棒的三方开源项目,新版本对系统结构有了一个全新的设计。

    7.参考资料

转载于:https://www.cnblogs.com/sanghg/p/4203153.html

你可能感兴趣的文章
判断两个对象不相等
查看>>
将数组里的元素转换为以逗号分隔的字符串
查看>>
Bootstrap3基础教程 02 网格布局
查看>>
linux的发展过程以及未来方向
查看>>
浅谈快速开发框架的分层(WinForm)
查看>>
阿里大鱼短信接口整合Tp3.2.3开发整理
查看>>
Rails sanitize
查看>>
time format in ruby
查看>>
异步请求(删除json数据)
查看>>
[LintCode] 最长单词
查看>>
python开发函数进阶:命名空间,作用域,函数的本质,闭包,作用域方法(globales)...
查看>>
Springboot简单整合Rabbit
查看>>
Go语言基础介绍
查看>>
vim 命令
查看>>
jni native macOS
查看>>
shell命令xargs解析
查看>>
转载:onCreate()方法中的参数Bundle savedInstanceState 的意义用法
查看>>
android 补间动画帧动画
查看>>
JQUERY实现非叠加式的搜索框提示
查看>>
更新Maven的本地库
查看>>