我使用StreamSets解析日志文件,StreamSets逐行解析的问题和我的日志记录是多行,类似这样
00:01:03.930 [WebContainer : 41] Outbound message:
00:01:03.930 [WebContainer : 41] Values to hide NewPassword -- mask -- .+
我尝试了正则表达式和grok模式,但新的行标记对我来说并不适合。 那么,如何让StreamSets将记录解析为多行?
答案 0 :(得分:1)
我创建了自定义处理器来解析我的文件。我按照这个教程工作得很好,就像我想要的那样 https://github.com/streamsets/tutorials/tree/master/tutorial-origin
答案 1 :(得分: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);
}
}