首页 > 解决方案 > 如何使用 promtail 抓取多行 java 日志?

问题描述

  1. 这是 som java 日志
2020-08-21 19:55:44-[audit]-INFO[http-nio-8001-exec-10]BeetlsqlDebugInterceptor.println(20) |
┏━━━━━ Debug [conclusionOperator.selectConclusionOperator] ━━━
┣ SQL:   select id,create_time,update_time from conclusion_operator where id=?
┣ PARAMETERS:         [751]
┣ POSITION:                org.aaaa.audit.controller.MailController.getElecMail(MailController.java:584)
┣ TIME:                        3ms
┣ RESULT:                   [2]
┗━━━━━ Debug [conclusionOperator.selectConclusionOperator] ━━━

这 8 行实际上是一个日志事件,如何配置 promtail 将这一行作为一个日志事件抓取?更喜欢你的 pipeline_stages !非常感谢!

标签: multilinegrafana-loki

解决方案


如果您使用 Logback 作为您的日志框架,请考虑切换到直接写入 Loki 的附加程序:https ://github.com/loki4j/loki-logback-appender (披露:我是它的作者)。

与 promtail 不同,它适用于原始 Logback 的日志事件,不需要解析任何内容。所以多行字符串、自定义标签等没有问题。


推荐阅读