multiline - 如何使用 promtail 抓取多行 java 日志?
问题描述
- 这是 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 !非常感谢!
解决方案
如果您使用 Logback 作为您的日志框架,请考虑切换到直接写入 Loki 的附加程序:https ://github.com/loki4j/loki-logback-appender (披露:我是它的作者)。
与 promtail 不同,它适用于原始 Logback 的日志事件,不需要解析任何内容。所以多行字符串、自定义标签等没有问题。
推荐阅读
- vb.net - VB .NET 上的 Salesforce Soap API:属性不能多次应用
- r - 我在 R 中的汇总函数中得到了一个奇怪的结果
- java - 使用具有有限堆的 azure-sdk-for-java 上传大文件
- javascript - 网络摄像头无法通过移动设备在谷歌浏览器中打开
- matlab - MATLAB中的时间序列图
- angular - 无法为 Angular 容器指定非根 nginx 位置
- javascript - 如何使用 Javascript 创建可链接的标题?
- sitefinity - Sitefinity 反编译 Telerik.Sitefinity.Frontend.Lists Dll 导致错误
- matlab - 如何在 MATLAB 中使用 deval 和 dde23 解决此错误?
- azure-active-directory - 使用用户名和密码从 Azure Active Directory 获取访问令牌