zoukankan      html  css  js  c++  java
  • 180325-log4cplus

    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文件不会自动复制到文件夹

    • 做一个东西自动复制呗
  • 相关阅读:
    制作文件的备份
    文件的读写
    文件的打开与关闭
    文件操作介绍
    数据类型转换
    位运算
    进制
    函数使用注意事项
    匿名函数
     递归函数
  • 原文地址:https://www.cnblogs.com/lizhensheng/p/11117298.html
Copyright © 2011-2022 走看看