1

我正在使用 StreamSets 解析日志文件,StreamSets 逐行解析的问题,我的日志记录是多行,类似这样

00:01:03.930 [WebContainer : 41] Outbound message:
00:01:03.930 [WebContainer : 41] Values to hide NewPassword -- mask -- .+

我尝试了正则表达式和 grok 模式,但新的行标签对我不起作用。那么,如何让 StreamSets 将记录解析为多行呢?

4

2 回答 2

1

我创建了自定义处理器来解析我的文件。我遵循了本教程并且工作得很好,就像我想要的一样 https://github.com/streamsets/tutorials/tree/master/tutorial-origin

于 2017-07-25T09:02:52.517 回答
0

我会尝试使用 Javascript 评估器(处理器)

并编写以下代码(处理多行并视为单个记录)

for(var i = 0; i < records.length; i++) {
  try {
    items = records[i].value['items']

<write your logic here to consider multiple lines >


    }

  } catch (e) {
    // Send record to error
    error.write(records[i], e);
  }
}
于 2017-10-20T06:17:33.587 回答