目录

日志


log

1 合理使用日志

  • 帮助跟踪处理流程,函数调用次序,帮助理解系统,效果甚至超过文档和注释,文档注释会不一致,日志是准确的。

  • 甚至能起到注释的作用

  • Log(“Begin to parse Ethernet header。。“)

  • 帮助调试代码,定位问题,在多线程条件下优于 GDB 调试,日志的时延也会影响调试结果,太多的日志让原来能复现的问题复现不了了。

  • 地毯式打印

  • 统一一致的日志开关

  • 清理日志

  • 太多的日志成为阅读代码的障碍,降低代码的可读性

  • 太多的日志影响调试代码,信息太多等于没有信息,影响找到有用的信息,影响系统运行速度(info 级别的日志)

  • 消除重复日志

  • 归并日志,一行显示多个信息。

// this is better
print(“username: (), password: (), phone number: (Y, username, psw, phone_number)

VS:

print(“username:“, username)
print(“password:“, psw)
print(“phone number: (Y, phone_number)
  • 日志清晰,美观,准确,能显示所在文件和行号
  • 代码正式提交前要清理日志,只留下关键的日志

1.1 理解系统的途径

  • 通过文档,通过类图,顺序图,状态图,用例图,框图,文字描述
  • 通过代码
  • 通过注释
  • 通过日志
  • 了解处理流程,函数调用次序是理解系统的重要手段