Debug_INFO跨平台动态库设计文档
现在开始我的设计文档,内容具体如下:
一、总体概要
1.1 采用C语言开发,提供C++兼容访问接口。支持Windows、Linux等操作系统。
1.2 DEBUG_INFO动态库对外提供三个接口:初始化接口、析构接口以及调试信息记录接口。
二、详细设计
2.1 信息格式定义
该动态库输出的信息格式定义为:
|
日期时间 |
错误类别 |
错误码 |
所属模块 |
所属文件 |
所属函数 |
错误行 |
2.2 数据类型定义
2.2.1 错误类别定义
|
Category |
Name |
Value |
|
关闭(Shutdown) |
CATEGORY_SHUTDOWN |
0 |
|
严重错误(Fatal Error) |
CATEGORY_FATAL_ERROR |
1 |
|
错误(Error) |
CATEGORY_ERROR |
2 |
|
警告(Warn) |
CATEGORY_WARN |
4 |
|
审计(Audit) |
CATEGORY_AUDIT |
8 |
|
跟踪(Trace) |
CATEGORY_TRACE |
16 |
|
一般信息(Info) |
CATEGORY_INFO |
32 |
注意:可以自己定义自己的错误类别,这个只是根据自己的实际情况,自己定义的部分。
2.2.2 模块定义
|
Modual |
Name |
Value |
|
所有(All) |
MODULE_ALL |
-1 |
|
没有(None) |
MODULE_NONE |
0 |
|
服务器(Server) |
MODULE_SERVER |
1 |
|
系统(sys) |
MODULE_SYS |
2 |
|
引擎(db) |
MODULE_DB |
4 |
|
SQL解析(SQL Parse) |
MODULE_SQL_PARSE |
8 |
|
加解密(Encrypt) |
MODULE_ENCRYPT |
16 |
|
安全(Security) |
MODULE_SECURRITY |
32 |
注意:可以自己定义自己的模块类别,这个是用于数据库的部分模块,自己可以定义。
2.3 对外提供接口定义
|
Name |
Interface |
Description |
|
初始化接口 |
int debug_info_init(int, int, char*) |
返回0表示初始化成功,其它则初始化失败。 |
|
析构接口 |
int debug_info_fini(void) |
返回0表示析构成功,其它则析构失败。 |
|
记录调试信息接口 |
int debug_info_rec(int, int, int, char*, char*, int, char*, …) |
返回0表示记录成功,其它则记录失败。 |
