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

CallSite提供了保存一行Log的信息,以便保存所有的LOG到容器里,方便管理以及输出到文件,同时输出到其它需要输出的界面。使用这个类是先调类CallSite的构造函数来保存Log所在的函数名称、类名称、文件名称和行号,还有是否需要输出Log等信息,接着就保存在类Log里保存到全局的容器里。它的代码如下:
#001namespace LLError
#002{
#003CallSite::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
#012void CallSite::invalidate()
#013 { mCached = false; }
#014}
第二人生的源码分析(6)类CallSite的实现
其实类CallSite是用来表示一次输出Log的对象,类Log是相当于容器类,并且管理着所有CallSite类对象。到这里,就把Log的基本功能分析完成了,至于更多详细的写文件功能、输出到调试窗口功能,以后再作详细地分析。