HTML5技术

怎样设计一个运行日志服务 - hhao020(2)

字号+ 作者:H5之家 来源:H5之家 2015-12-11 09:15 我要评论( )

首先,是几个判断当前运行状态的函数,shell,kernal,interrupt三种,如果这三种状态都不是,那就是应用程序。紧接着的,是z_Log2xxx函数,用来做最终输出的,包括console,file,memory等多个选项。然后是z_xxxLo

首先,是几个判断当前运行状态的函数,shell,kernal,interrupt三种,如果这三种状态都不是,那就是应用程序。紧接着的,是z_Log2xxx函数,用来做最终输出的,包括console,file,memory等多个选项。然后是z_xxxLog/z_ShellPrintxxx函数,这个是封装前的几个打印函数,他们会调用前面的z_Log2xxx。再往下,是一组互斥量操作,内存日志支持函数,以及日志打印级别定义和操作。

对于一般使用者来说,这些都不需要理解,因为它们对用户是透明的。

输出级别定义后,是一些相对具体的日志输出接口,是些宏定义。这里有选择的讲一讲。

#define VERBOSE_LINE(fnPrint, level) fnPrint("[%s]:%s %s %d::", _STR(level), __FILE__, __FUNCTION__, __LINE__)

定义额外调试信息,我们不想总是去敲入__FUNCTION__,__LINE__,用这个宏定义来解决。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Dora.Interception: 一个为.NET Core度身定制的AOP框架 - Artech

    Dora.Interception: 一个为.NET Core度身定制的AOP框架 - Artech

    2017-05-02 11:00

  • 【Vue 入门】使用 Vue2 开发一个展示项目列表的应用 - zhangjk

    【Vue 入门】使用 Vue2 开发一个展示项目列表的应用 - zhangjk

    2017-04-30 16:00

  • 设计模式(1)单例模式(Singleton) - Fonour

    设计模式(1)单例模式(Singleton) - Fonour

    2017-04-23 12:00

  • 【CSS】如何用css做一个爱心 - 只会修电脑的程序猿

    【CSS】如何用css做一个爱心 - 只会修电脑的程序猿

    2017-04-18 11:00

网友点评
/