作者 | Dvir Peretz
译者 | Seanhao
是否记录日志不再是问题的现在,如何记录日志和日志记录什么内容,已经成为 IT 运营部门试图提高应用程序性能和投资回报率,需要关注的领域之所在。
本文收集了一些最佳实践及注意要点,可以帮助您“更明智地记录日志”,并为您在排查问题时节省宝贵的时间和资源。
1、了解你的受众
在处理日志前,首先要了解的是——应用程序日志有两类非常不同的受众:人和机器。
机器擅长快速且自动地处理大量结构化数据,人类在处理大量数据时不如机器,阅读日志很耗费人类的时间。然而,人类能很好地处理非结构化数据。
为了最大限度发挥日志的价值,需要让日志既满足人类可读性的要求,又满足机器结构化的需求。
2、日志标准化
做好日志记录的前提,是给日志文件定义标准的结构,且这个结构在系统所有日志文件中都是一致的。
一行日志代表一个单独事件,需要有时间戳、主机名、服务名称和记录器名称等信息,其附加信息还可以有线程或进程 ID、事件 ID、会话 ID 和用户 ID。
其它重要值可能与环境有关,例如:实例 ID、部署名称(deployment name)、应用程序版本或其它与事件相关的键值对。
使用高精度时间戳(如果没有更精确的,用毫秒精度),确保时间戳格式包含时区数据。除非有更重要理由,否则使用 ISO8601 的标准格式。
最后,真正的专业人士,要在每一