Easylogging++源码分析

        一.

    使用开源项目最大的好处就是可以看它的源码来加深你的理解,理解了其实现原理,则使用起来必定更加得心应手。

       下面几个类是Easylogging中最重要的几个类,弄明白了这几个类就能弄懂各项功能的实现:

        Loger:调试者

        RegisteredLoggers:调试者仓库,即多个调试者的集合

        Writer:调试器

        Configuration:配置器

        Configurations:配置器仓库,即多个配置器的集合


         调试者,调试器,配置器三者的关系如下:

         

          当开始一次log输出时,Writer找到一个对应的Loger,该Loger保存了自己的配置信息,根据这些配置信息,Writer决定是否输出该log,或者以什么格式将log输出到哪个文件中。

           上面的流程就是每次log的输出过程。从源码中可以很清晰的看到这个流程,展开宏LINFO:

#define LINFO CINFO("trivial")
            "trivial"是Loger的标识符号,表明这条log将使用"trivial"调试器。类似的还有其他的调试器:
#define BINFO CINFO("business")
#define SINFO CINFO("security")
             等等调试器。再继续一层层的展开宏,最后可以发现:
#define _ELPP_LOG_WRITER(_logger, _level) easyloggingpp::internal::Writer(\
    _logger, easyloggingpp::internal::Aspect::Normal, _level, __func__, __FILE__, __LINE__)
         
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值