第二人生的源码分析(6)类CallSite的实现

CallSite 提供了保存一行 Log 的信息,以便保存所有的 LOG 到容器里,方便管理以及输出到文件,同时输出到其它需要输出的界面。使用这个类是先调类 CallSite 的构造函数来保存 Log 所在的函数名称、类名称、文件名称和行号,还有是否需要输出 Log 等信息,接着就保存在类 Log 里保存到全局的容器里。它的代码如下:
#001 namespace LLError
#002 {
#003  CallSite::CallSite(ELevel level,
#004                          const char* file, int line,
#005                          const std::type_info& class_info, const char* function)
#006         : mLevel(level), mFile(file), mLine(line),
#007           mClassInfo(class_info), mFunction(function),
#008           mCached(false), mShouldLog(false)
#009         { }
#010 
#011 
#012  void CallSite::invalidate()
#013         { mCached = false; }
#014 }
 
其实类 CallSite 是用来表示一次输出 Log 的对象,类 Log 是相当于容器类,并且管理着所有 CallSite 类对象。到这里,就把 Log 的基本功能分析完成了,至于更多详细的写文件功能、输出到调试窗口功能,以后再作详细地分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值