码迷,mamicode.com
首页 > 其他好文 > 详细

180325-log4cplus

时间:2019-07-01 23:04:04      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:屏幕   特定   included   c++   直接   说明   打印   detail   lse   

C++开源日志库log4cxx

TOC

前言

  • 一个很好的打印日志的库,使用工具,让开发更有效率。

参考

log4cplus使用指南
[log4cplus基本使用方法](https://blog.csdn.net/nyist327/article/details/40511377 )
log4cplus, log4cpp, log4cxx 对比
编译错误,一定要看!
另一个编译错误
一定要加-DUNICODE
CMake手动复制文件到指定目录

学习记录

主要类说明

类名 说明
Filter | 过滤器,过滤输出消息。
Layout | 布局器,控制输出消息的格式。
Appender | 挂接器,与布局器和过滤器紧密配合,将特定格式的消息过滤后输出到所挂接的设备终端如屏幕,文件等等)。
Logger | 记录器,保存并跟踪对象日志信息变更的实体,当你需要对一个对象进行记录时,就需要生成一个logger。
Hierarchy | 分类器,层次化的树型结构,用于对被记录信息的分类,层次中每一个节点维护一个logger的所有信息。
LogLevel | 优先权,包括TRACE, DEBUG, INFO, WARNING, ERROR, FATAL。

六个步骤

使用log4cplus有六个基本步骤:

  • 实例化一个封装了输出介质的appender对象;
  • 实例化一个封装了输出格式的layout对象;
  • 将layout对象绑定(attach)到appender对象;
    • 如省略此步骤,简单布局器SimpleLayout(参见5.1小节)对象会绑定到logger。
  • 实例化一个封装了日志输出logger对象,并调用其静态函数getInstance()获得实例,log4cplus::Logger::getInstance("logger_name");
    将appender对象绑定(attach)到logger对象;
    设置logger的优先级,如省略此步骤,各种有限级的日志都将被输出。

代码

  • 记住,参考tests文件夹中的示例代码
    • appender_test
    • patternlayout_test
    • loglog_test

编译注意事项

  • 不要用C++11
  • 编译选项加上 -DUNICODE,不然会报找不到符号undedined reference
    • 思考,是直接加编译选项呢,还是通过cmake加add_definition呢?

dll文件不会自动复制到文件夹

  • 做一个东西自动复制呗

180325-log4cplus

标签:屏幕   特定   included   c++   直接   说明   打印   detail   lse   

原文地址:https://www.cnblogs.com/lizhensheng/p/11117298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!