所有Flink进程都会创建一个日志文本文件,其中包含进程中发生的各种事件的消息。这些日志可以深入了解Flink的内部工作原理,还可以用来检测问题(以警告/错误信息的形式),并帮助调试。
可以通过web界面的JobManager/TaskManager页面访问日志文件。使用的资源提供者(例如YARN)可能会提供额外的方式来访问它们。
Flink中的日志记录使用SLF4J日志记录接口。这样就可以使用任何支持SLF4J的日志记录框架,而无需修改Flink的源代码。默认情况下,Log4j 2用作底层日志框架。我们也推荐使用 Log4j 2,不再使用 Log4j 1或 logback。
1. 配置Log4j 2
这里 Log4j 2通过properties的方式来配置,因为默认使用Log4j 2,所以这里不需要修改jar依赖。
在Flink的安装包的conf下默认有log4j的属性配置文件,所以如果启用的是Log4j 2,则下面这些文件就默认启用。
- log4j-cli.properties:被命令行接口使用,比如 flink run
- log4j-session.properties:在启动Kubernetes/Yarn session集群时由命令行接口使用,比如kubernetes-session.sh/yarn-session.sh
- log4j-console.properties