iLogtail的多行日志合并功能将分散的多行文本聚合为完整的日志事件,工作流程如下:
- 用户配置行首正则表达式(如
cnt.*),用于标识一条新日志的开始。 - iLogtail逐行读取日志文件,对每行开头应用行首正则进行匹配。
- 如果某行匹配行首正则,说明这是一条新日志的起始行;如果不匹配,说明这行属于上一条日志的延续部分(如Java异常堆栈)。
- 将所有不匹配行首正则的连续行与前一条匹配的行合并,形成一条完整的多行日志事件。
典型应用场景是Java异常堆栈日志:第一行包含时间戳和异常信息(匹配行首正则),后续缩进的at ...行是堆栈信息(不匹配行首正则),最终合并为一条完整的异常日志。




