Nifi:从拆分日志流文件

时间:2017-08-31 09:27:09

标签: apache-nifi

我想为nifi处理器制作日志文件,我从tailFail获取它们并逐行分割文本然后检查它是否是错误,信息或警告日志和路由到executioncript处理器但是此时我有5个flowfiles和我想要统一这个拆分流文件并将其写入一个流文件,我试图使用合并内容,但我认为它不适合我的任务。

  1. 我也想知道nifi自定义日志是否返回日志文件 我在工作流程中添加的所有处理器都是无用的 在logback.xml中添加appender。
  2. 我想知道是否可以统一拆分日志数据? (p.s我尝试了routeonAttriute,但它对我不起作用) 我的工作流程如下: enter image description here

1 个答案:

答案 0 :(得分:0)

分割线后,您可以使用RouteOnContent检查该线是否与regexp匹配。

然后,如果要加入行,可以使用以下脚本。

这只是一个例子:

//get 1000 flow file list from incoming queue but not more then 1000
def ffList = session.get(1000)
if(!ffList)return

ffList.each{ff->
    session.read(ff, {rawIn ->
        //you can write here to a new output flowfile
        //but in this example i will just add content into a plain file on disk
        new File('./logs/warn.log') << rawIn << '\n'
    } as InputStreamCallback)

    session.remove(ff)
}

enter image description here