WEB开发网
开发学院软件开发VC 通用的应用程序高级日志系统 阅读

通用的应用程序高级日志系统

 2009-03-16 20:02:17 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 原文出处:Advanced Logging for all kind of applications日志模块本文介绍的日志系统包括七个 C++ 类:CLog, CFuncLog, IStoreLog, CWinLog, CFileLog, CAutoCritic, CLogSimple

本文示例源代码或素材下载

原文出处:Advanced Logging for all kind of applications

日志模块

本文介绍的日志系统包括七个 C++ 类:CLog, CFuncLog, IStoreLog, CWinLog, CFileLog, CAutoCritic, CLogSimpleLock。CLog 是所有日志模块中最主要的一个类,在大多数情况下,这个类在应用程序中最好是单实例的。但并不是必须的。重要性其次的一个类是 CFuncLog,这个类用于对函数调用的进入和退出进行记录。当然开发人员也可以使用这个类对任何数据进行日志记录。该类重载了 << 操作符,所以使用很方便。

下图是本文介绍的日志系统使用截图

通用的应用程序高级日志系统

日志模块的 UML 设计

从下图可以看到,日志模块类可以分成两个部分:

1. Storage 类 —— 存储类

2. Logging 类 —— 日志类

通用的应用程序高级日志系统

图一 UML 设计的类继承图

存储类:

IStoreLog 类的声明

/////////////////////////////////////////////////////////
// 此类是为一个抽象类,建立三个默认的函数,以便支持所有子类,
// 任何子类都必须支持缓冲和非缓冲存储
/////////////////////////////////////////////////////////
class IStoreLog
{
public:
virtual ~IStoreLog( void ){}; // 虚拟析构函数
virtual int FlushData() = 0;
virtual int WriteString( const std::string &Message ) = 0;
virtual int SetBufferLimit( long lSize ) = 0;
};

1 2 3 4  下一页

Tags:通用 应用程序 高级

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接