flink log日志管理使用详解
文章目录
- flink log日志管理使用详解
- 如何使用日志记录
- 配置Log4j 2
- 与Log4j 1的兼容性
- 配置Log4j 1
- 配置logback
- 开发者最佳实践
- 参考链接
如何使用日志记录
所有的Flink进程都会创建一个包含该进程中各种事件消息的日志文本文件。这些日志提供了对Flink内部工作原理的深入了解,可以用于检测问题(以WARN/ERROR消息形式)并帮助调试。
可以通过WebUI的Job-/TaskManager页面访问日志文件。所使用的资源提供程序(如YARN)可能提供了额外的访问方式。
Flink中的日志记录使用SLF4J日志接口。这使您可以使用任何支持SLF4J的日志框架,而无需修改Flink源代码。
默认情况下,使用Log4j 2作为底层日志框架。
配置Log4j 2
Log4j 2使用属性文件进行控制。
Flink发行版附带了以下log4j属性文件,位于conf目录中,如果启用了Log4j 2,则会自动使用这些文件:
- log4j-cli.properties:由命令行界面使用(例如,flink run)
- log4j-session.properties:在启动Kubernetes/Yarn会话集群时命令行界面使用(即kubernetes-session.sh/yarn-session.sh)
- log4j-console.properties:如果Job-/TaskManagers在前台运行,则使用它们(例如Kubernetes)
- log4j.properties:默认情况下用于Job-/TaskManagers
Log4j定期扫描此文件以检查更改,并在必要时调整日志记录行为。默认情况下,检查间隔为30秒,并由Log4j属性文件中的monitorInterval设置控制。
与Log4j 1的兼容性
Flink附带了Log4j API桥接器,允许继续使用针对Log4j 1类工作的现有应用程序。
如果您有自定义的Log4j 1属性文件或依赖于Log4j 1的代码,请查阅官方的Log4j兼容性和迁移指南。
配置Log4j 1
要将Flink与Log4j 1一起使用,必须确保:
- org.apache.logging.log4j:log4j-core、org.apache.logging.log4j:log4j-slf4j-impl和org.apache.logging.log4j:log4j-1.2-api不在类路径上
- log4j:log4j、org.slf4j:slf4j-log4j12、org.apache.logging.log4j:log4j-to-slf4j和org.apache.logging.log4j:
FlinkLog4j2与Log4j1管理及兼容性详解

本文详细介绍了如何在Flink中使用日志记录,包括默认的Log4j2配置、与Log4j1的兼容性处理方法以及logback的配置。还提供了开发者最佳实践,如创建SLF4J记录器和使用占位符机制。
最低0.47元/天 解锁文章
1663

被折叠的 条评论
为什么被折叠?



