Nifi使用Python引擎的ExecuteScript处理器未记录信息

3

我使用Python引擎实现了Nifi ExecuteScript处理器,将脚本文件属性指向ExecuteScript处理器中的Python文件。在我的Python代码中,我使用了log.error('Error')和log.info('Hello'),但我只能在nifi-app.log文件中看到log.error,而log.info没有显示。

flowFile = session.get()

if flowFile != None:
    try:
        log.info('Info >> Python processor started') #1
        log.error('Python processor started')        #2

        applicationId = flowFile.getAttribute('http.param.applicationId')

        flowFile = session.write(flowFile, ModJSON())
        flowFile = session.putAttribute(flowFile, "filename",

        flowFile.getAttribute('filename').split('.')[0] + '_translated_response.json')
        flowFile = session.putAttribute(flowFile,"http.param.applicationId",applicationId)

        session.transfer(flowFile, REL_SUCCESS)

        log.error('Python processor completed')
    except:
        log.error('Error while sequencing ')
        session.transfer(flowFile, REL_FAILURE)

    session.commit()

从上面的代码中可以看到,第2行在日志文件中显示错误,但第1行没有被记录

1个回答

3
请检查位于/<nifi安装路径>/conf/logback.xml的日志级别。我认为您的处理器日志级别是warn而不是info。"原始答案"

感谢@Lamanus的快速回复。您能帮我更改需要更改的标签名称吗?我已经更改了以下日志级别,但似乎没有显示信息消息: <logger name="org.apache.nifi" level="INFO"/> <logger name="org.apache.nifi.processors" level="INFO"/> <logger name="org.apache.nifi.processors.standard.LogAttribute" level="INFO"/> <logger name="org.apache.nifi.processors.standard.LogMessage" level="INFO"/> <logger name="org.apache.nifi.controller.repository.StandardProcessSession" level="INFO" /> - Varun Soni
然后添加这个。<logger name="org.apache.nifi.processors.script.ExecuteScript" level="INFO"/> 顺便提一下,设置选项后请重新启动nifi。 - Lamanus
1
更改日志级别不需要重新启动 NiFi--它会在大约30秒后自动获取新的配置。这是唯一一个可以在不重新启动的情况下更改的重要应用程序级配置。 - Andy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接