功能需求:
能够扩展日志输出类别;
默认包含文件输出;
能够自定义消息属性;
默认三类消息级别;
提供简单的日志输出格式,可能有数字,文本的混合
方案:
定义一个日志输出类别基类;
日志主插件需要主要去加载所有扩展输出类别插件;
日志主插件只提供文本、数字的简单输出,对于复合输出完全可以用streamstring来进行整合后输出。
工程文件组织:
头文件:
ILogOutput.h 定义类消息级别,日志输出基类
ILogSys.h 定义了日志插件接口
ExportPlugin.h 定义导出接口
LogSysImpl.h 日志插件实现头文件
FileLogOutputImp.h 文件输出类别插件实现头文件
实现文件:
FileLogOutput.cpp 文件输出类别插件
LogSys.cpp 日志插件
ExportPlugin.cpp 插件导出接口实现
注意:日志插件在进行了所有插件初始化后才可以进行调用使用。