【flink 床头书系列】flink log日志管理使用

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

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:
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigDataMLApplication

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值