Debug_INFO跨平台动态库设计文档

现在开始我的设计文档,内容具体如下: 

一、总体概要

1.1 采用C语言开发,提供C++兼容访问接口。支持WindowsLinux等操作系统。

1.2 DEBUG_INFO动态库对外提供三个接口:初始化接口、析构接口以及调试信息记录接口。

二、详细设计

2.1 信息格式定义

该动态库输出的信息格式定义为:

日期时间

错误类别

错误码

所属模块

所属文件

所属函数

错误行

 

    其中,日期时间字段的具体格式定义如下:[YY-MM-DD HH:MI:SS] ;

    错误类别为类型定义中的内容。注意:该类别可以进行或运算,实现同时获取多种错误类别的信息。例如:数值3=FATAL_ERROR | ERROR,即同时获得Fatal Error和Error的信息。

    错误码为服务器端定义的各种Error Messages。

    所属模块为类型定义中的内容。同错误类别一样,可以进行或运算,获取多个模块的信息。

    所属函数、错误行是通过调用接口时传入的信息参数。

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 对外提供接口定义

    2.3.1对外接口定义

    对外提供的主要功能接口包括:初始化函数接口、析构函数接口以及记录调试信息的接口。

 

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表示记录成功,其它则记录失败。

 

    2.3.2 接口详细说明

    对各个接口进行详细介绍一下,以免大家一头雾水。  

函数名称

debug_info_init

返回值

Int

0

执行成功

其他

错误码

参数

[in]const int

_category

记录的错误级别

[in]const int

_modual

记录的模块

[in]const char*

_pathdir

设置存放debug_info的位置,可以为NULL

函数说明

该函数用于DEBUG_INFO动态库的初始化操作,在初始化之中,DEBUG_INFO动态库初始化记录的错误级别、记录的模块以及存放debug_info的位置。

 

 

函数名称

debug_info_fini

返回值

Int

0

执行成功

其他

错误码

参数

Void

 

 

函数说明

该函数用于DEBUG_INFO动态库的析构操作。

 

 

函数名称

debug_info_rec

返回值

Int

0

执行成功

其他

错误码

参数

[in]const int

_cat

记录的错误级别

[in]const int

_code

记录的错误码

[in]const int

_module

记录的错误模块

[in]const char*

_file

记录的错误所属文件

[in]const char*

_func

记录的错误所属函数

[in]const int

_line

记录的错误所在行

[in]const char*

_format

可变参数的输出格式

[in]…

args

可变参数

函数说明

该函数用于DEBUG_INFO动态库的记录操作,该函数为可变参数,可以根据用户输入的格式进行格式化输出。

 

 这基本上就是我的设计思路了,具体的实现也就简单多了。接下来就是代码实现了。

posted @ 2011-04-03 14:21  uber_niello  阅读(444)  评论(0)    收藏  举报