我有一个单节点 Flink 实例,它在 lib 文件夹中具有 logback 所需的 jar(logback-classic.jar、logback-core.jar、log4j-over-slf4j.jar)。我已从 lib 文件夹中删除了 log4j 的 jar(log4j-1.2.17.jar、slf4j-log4j12-1.7.7.jar)。 “logback.xml”也在“conf”文件夹中正确更新。我还在类路径中包含了“logback.xml”,尽管在作业运行时似乎并未考虑这一点。 Flink 仅引用conf 文件夹内的logback.xml。我已经根据 Flink 的文档更新了 pom.xml 以排除 log4j。
我在一些地图和平面地图函数内设置了一些日志条目,在这些函数之外设置了一些日志条目(例如:“程序执行开始”)。
当我运行作业时,Flink 仅写入那些在转换之外编码的日志。那些在转换(地图、平面地图等)内编码的日志不会写入日志文件。此外,Flink 在这方面表现出奇怪的行为。每当我更新 lib 文件夹内的 logback jar(由于版本更改)时,在下一次作业运行期间,所有日志(甚至是地图和平面地图内的日志)都会正确写入日志文件。但此后的任何运行中都不会写入日志。这意味着我的“logback.xml”文件是正确的,并且设置也是正确的。但我不明白为什么相同的设置在再次运行相同的作业时不起作用。
Update
这个问题已报告给 Flink 团队,他们已将其添加为 JIRA 中的错误https://issues.apache.org/jira/browse/FLINK-7990 https://issues.apache.org/jira/browse/FLINK-7990
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)