zoukankan      html  css  js  c++  java
  • 桌面软件底层日志的一种改进设计

    作者:朱金灿

    来源:http://blog.csdn.net/clever101

     

           桌面软件的底层日志主要采取文本文件的方式,主要存在一些缺点:一是日志文件散乱,不方便管理;二是缺乏有效的日志分析工具。

     

           为此需要改变原来的以文本文件充当日志文件的做法,改用sqlite数据库文件来充当日志文件。采用sqlite数据库文件充当日志文件,一是可以只采用一个日志文件,二是可以开发相关的日志分析工具。特别是在并行处理系统中,日志是一种重要的调试手段。基于数据库的分析工具毫无疑问要比基于文本文件的分析工具更为强大。


            采用sqlite数据库文件充当日志文件,需要设计一个日志表。日志表的结构如下:

    字段名(英文名)

    意义

    类型

    日志记录ID(record_id)

    采用GUID实现

    字符串

    日志等级(log_level)

    划分为两个等级:

    1.  info  —— 信息提示

    2.  error —— 错误提示

    整型

    日志写入时间(write_time)

     

    年月日时分秒,如:2016:7:7 10:49:34

    时间类型

    输出日志的代码具体位置(code_pos)

     

    包括文件名、行号及函数,如:

    File:"e:MyprojectsrcutilityMathLib.cpp"; Line: 10;Matrix:: Matrix:

    字符串

    日志具体信息(info)

    如:加载xml文件失败!

    字符串

     

        操作日志的流程是这样的:日志文件被命名为log.db,放在应用程序文件所在的目录下,当日志文件不存在时,创建这个日志数据库文件,当需要写入日志时插入日志记录。

     

        另外需要针对日志文件开发相关的日志分析工具。

  • 相关阅读:
    iOS开发网络篇—GET请求和POST请求
    iOS开发网络篇—HTTP协议
    iOS开发网络篇—搭建本地服务器
    iOS开发网络篇—网络编程基础
    编程生涯
    使用NSURLSession实现断点续传
    定义设置颜色的RGB值的宏
    IB_DESIGNABLE的使用
    java文件和目录的增删复制
    Android离线语音识别(PocketSphinx)
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469830.html
Copyright © 2011-2022 走看看