• [原]日志方面的一点总结


    log日志在软件开发和维护中都很有用, 在开发阶段可以方便调试, 在维护阶段对于出问题时的定位更是有关键作用, 尤其是在问题较难复现和无法现场调试的情况下. 以下简要总结了下日志模块中一些有用的功能和日志中一些有用的信息.

    一. 日志模块的功能

    1. 分级控制, 如debug, info, warning, error, fatal等
        不同的情况下可能需要显示不同重要程度的日志信息, 开发测试阶段可能希望显示所有的日志信息, 待系统运行稳定后可能只需要记录少量关键的异常信息.

    2. 模块控制, 只显示某个模块的调试信息
        调试时经常会希望只显示某个或某些模块的调试信息, 而将其他模块日志信息的级别控制在较高.

    3. 输出方式, 如打印到串口, 控制台, 记录到文件等
        不同的输出方式在便捷性, 可保存性和系统资源占用率等方面有所差异, 开发阶段输出到控制台可能最直接, 系统运行阶段应该记录到文件以备查阅, 输出到串口/控制台资源消耗较大, 有时会使系统在打开和关闭日志的情况下有不同的表现, 此时采用将日志输出到内存, 待积累到一定量时保存到文件的方法较为合适.

    4. 在日志中包含时间信息
        对于大部分软件, 查看日志信息时很可能希望知道某条日志产生的时间.

    二. 一些可能会有用的日志信息

        概括的说就是记录的信息要尽可能详细, 在维护阶段用户将日志发给你而你又无法现场调试时就会深刻地体会到这一点的重要性了, 良好的日志打印可以很快分析到问题的所在而不用再运行一遍程序. 打印日志的代码应仔细设置日志的级别, 通过输出级别控制可以避免将重要信息淹没在大量无关内容里.

    1. 检测到某些错误或异常情况时
        分析日志经常从第一个错误或异常开始.

    2. 重要函数的入口(和出口)
        事实上, 只要调用不是极其频繁的函数都可以在入口(和出口)处加一条日志打印.

    3. 运行过程中的一些关键数据
        很多时候, 一个异常的数据值就能定位到问题的大致位置了.
  • 相关阅读:
    js/Jquery table 内部控件计算和tr的生成
    反射 实体类的赋值/取值问题
    C#读取Excel 几种方法的体会
    水晶报表升级遇到的问题
    使用异或位运算符实现交换两个整数详解
    美国宇航局两万兆数据存储方案下载
    Flash全屏(转载)
    Unity3D实现动态加载游戏资源
    C#,ASP.NET jquery uploadify上传控件中文乱码解决办法
    HTML通过button触发inputfile控件上传文件的问题
  • 原文地址:https://www.cnblogs.com/techsunny/p/1582765.html
Copyright © 2020-2023  润新知