【发布时间】:2017-08-30 11:33:04
【问题描述】:
我想为 NiFi 中的每个处理器创建日志文件。我使用splitText 来拆分日志文件,然后在它之后处理它们我有一个日志消息分布在 5 个文件中。我想保留这些数据并将其写入每个处理器的一个日志文件中(例如,我使用此表达式来获取 executescript processor${regex:toLower():contains('executescript')})。
- 如何将此日志写入每个处理器的一个日志文件中?
- 我应该使用任何本机 NiFi 处理器还是使用 Groovy 代码制作?
是否可以获取我使用的流文件数据,但处理器似乎反应不佳:
def flowFile1 = session.create();
def flowFile=session.get();
while(flowFile != null){
flowFile1 = session.write(flowFile, {outputStream -> def builder = new groovy.json.JsonBuilder(flowFile)
outputStream.write(builder.toPrettyString().getBytes(StandardCharsets.UTF_8)) } as OutputStreamCallback)
}
flowFile1 = session.putAttribute(flowFile,'filename','ExecuteScriptLog')
session.remove(flowFile);
session.transfer(flowFile1, REL_SUCCESS)
我有 WorkFlow ike thi 和 i wnat 来获取连接名称,例如“executescrip”并使用此名称制作流文件,并输入放置在此“executescript”队列中的所有流文件数据,并将其写入我创建的一个文件中(在本例中为“执行脚本”)
【问题讨论】:
-
是否可以获取连接名称,然后根据它命名流文件?我想做到这一点,因为我使用 routeonattribute 并用 prosesor 名称命名了 onnection
-
我也想知道是否可以获取 flowilfe 数据并将其放入 json 中
标签: groovy apache-nifi