06-非结构化日志记录
11.4.1 非结构化日志记录
处理日志的常见做法是将事件记录作为纯文本字符串,并将所需的任意字段值推送到日志消息中,方法是将这些字段值转换为字符串。这种日志记录形式被称为非结构化日志记录,因为日志消息中的信息没有任何预定义的结构或顺序。非结构化日志记录适用于大多数用例,但它也有缺点。
在收集日志消息之后,与它们共同的用例能够在稍后的时间点搜索特定的事件。但是,从日志集合中检索非结构化的日志可能会很麻烦。非结构化日志记录的问题在于,它们没有任何可预测的格式,并且对日志聚合服务来说,使用简单的文本匹配查询所有原始日志消息会非常耗费资源。你需要编写匹配大量文本的正则表达式,或者在命令行用grep来获取特定事件。随着日志数量的增加,这种方法最终会成为从日志文件中获取有用信息的瓶颈。另一种方法是记录具有预定义结构的消息,因此就有了结构化日志记录。