首页/云/可观测性速查/多行日志合并(堆栈跟踪)
日志平台52 条

多行日志合并(堆栈跟踪)

Java 堆栈、Python Traceback 天然多行:用 multiline 规则把续行并进首行,否则每行都会变成独立事件。

可观测性速查云更新于 2026-10-12

两种常用规则

两种常用规则
# 规则一:以空白开头的行并入上一行(续行特征)
  multiline.pattern: '^[[:space:]]'
  multiline.negate: false
  multiline.match: after

# 规则二:时间戳开头的行是新事件起点,非此类行并入前一行
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
  multiline.negate: true
  multiline.match: after
规则一简单可靠;规则二对自定义格式更通用,但在多线程输出日志上要谨慎验证。

易错点

  • 规则写反(negate/match 组合)会把每条日志都吞成一个大事件,先在测试文件上验证
  • 多行合并会引入等待:超时后才发出末个事件,实时性要求高的日志评估 max_lines 与超时参数

数据来源与参考

  • Elastic 官方文档 · Manage multiline messages
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌