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,放在应用程序文件所在的目录下,当日志文件不存在时,创建这个日志数据库文件,当需要写入日志时插入日志记录。

     

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

  • 相关阅读:
    leetcode 287 寻找重复数
    739 每日温度 && 单调栈算法的思路
    leetcode 34 在排序数组中查找元素的第一个和最后一个位置
    leetcode 239 滑动窗口最大值
    leetcode 114 二叉树展开为链表
    leetcode 79 单词搜索
    leetcode 88 合并两个有序数组
    函数指针 & 指针函数
    leetcode 240 搜索二维矩阵
    谱聚类
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469830.html
Copyright © 2011-2022 走看看