• 略论并行处理系统的日志设计


    作者:朱金灿

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

     

           一般来说桌面软件以单机单进程的方式运行,在调试程序时可以方便地进行单步调试。而并行处理系统往往以多机多进程的方式运行,一旦出错对于如何定位错误所在成了一件棘手的事情。这时日志调试成为定位错误的有效手段。下面谈谈如何设计日志可以方便地定位错误。

     

            首先是日志文件的命名,最初的命名是采用软件名字.log。发现这样做最新的日志总是把老日志覆盖了,显然这样是不行的。要想新的日志不覆盖旧的日志,就采用了日期时分_GUID.log的命名方式。日期时分可以确定日志是是啥时候生成的,GUID确保新日志不覆盖旧日志。

     

            其次是日志信息的分级。现在我将日志分为:信息和错误两级。信息这一级是为了输出相关的信息;错误级是为了记录出错的地方。以前看到有些软件的日志信息分为多级:信息、警告、一般错误和严重错误。我感觉并无太大必要。这里要具体说下日志要记录哪些内容呢?我想大致是:日志的分级标签、日志产生时间、对应的源码文件和行号、具体的输出信息。比如日志信息分为两级,分级标签可以是infoerror。增加分级标签是为了方便日志分析工具来分析日志。

     

           三是日志分析工具。为什么需要日志分析工具?因为随着系统运行时间越来越好长,形成很多日志文件和日志记录,单靠人眼是找不到出错的地方,只有借助软件进行自动化分析。下图是我设计的一个简单的日志分析工具:

    这个可以查询某一时间段产生的某一类的日志(比如错误日志或一般的信息输出日志)。

  • 相关阅读:
    Linux防火墙命令
    Linux学习笔记:(三)软件包管理(更新中)
    Linux赋予root权限
    Linux学习笔记:(二)用户和组群账户管理
    Linux目录结构
    Sublime Text3中Package Control Install Package打不开问题
    Linux学习笔记:(一)常用命令大全
    SpringBoot项目中整合Mybatis框架
    IDEA快速创建springboot项目
    java.lang.NoClassDefFoundError: javax/servlet/ServletOutputStream 报错解决
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469971.html
Copyright © 2020-2023  润新知