Emr 上的 Flink 日志文件

Flink log files on Emr

我在 Emr 中有我的 Flink jar 运行。当它在 Emr 上是 运行 时,我将 logback.xml 设置为 /mnt/var/flink.log 作为它的路径。我只能看到由 Emr 形成的日志,而 运行 罐子而不是我的。请建议我如何获取我在程序中定义的日志的方法,这些日志是 运行 作为 Emr 中的 Flink jar。我找不到合适的解决方案。我的 logback.xml 看起来像:

<configuration>
<logger name="org.apache.flink.runtime.jobgraph.JobGraph" level="INFO" additivity="false">
<appender-ref ref="file" />
</logger>
    <appender name="file" class="ch.qos.logback.core.FileAppender">
        <file>/mnt/var/log/flink.log</file>
        <append>false</append>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{60} %X{sourceThread} - %msg%n</pattern>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="file"/>
    </root>
</configuration>

可能与FLINK-7990, as per this SO question有关。但请注意,您必须将 logback.xml 文件 Flink 的 conf 目录放在启动 Flink 的系统上。旁注 - 如果您在提问时包括 Flink 的版本,这将非常有帮助,因为它是一个快速移动的目标。