logging - 如何在运行时更改apache flink的日志级别
问题描述
是否可以在运行时更改 flink 框架的日志级别?当 flink 集群已经在运行时?我提到了下面的文件,没有这样的提及
https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/logging.html
解决方案
在程序代码中,Flink 使用 SLF4J 进行日志记录,并支持 log4j (log4j2 for Flink>= 1.11, log4j < 1.11) 和 Logback 作为底层的日志框架,可以通过各自的 .properties 文件自由配置。
据我所知,SLF4J 本身不支持在运行时和 Flink 本身中更改日志记录级别,我没有看到与底层日志记录框架(如 log4j 或 logback)相关的自定义代码,它们会通过某种机制(如 REST)来更改日志级别API。
也就是说,日志框架本身可能允许某种机制在运行时更改日志级别。在简短的谷歌搜索中,我发现例如 log4j 包含了一些机制,例如通过使用 File Watchdog 并在运行时重新加载日志记录属性文件,请参见此处的示例:动态更改 log4j 日志级别 当然,您需要构建工具你自己,即找出你的TaskManagers和JobManagers在哪里运行,有他们的工作目录并相应地提供/编辑文件。
结论:我建议您使用保存点停止作业,更改日志记录属性并重新启动作业。这可能是更容易的方法去..
推荐阅读
- elasticsearch - 批量请求的最佳性能刷新策略是什么?
- nginx - 如果服务使用新的相对 url `Location` 标头响应,Kubernetes Ingress Nginx 控制器不会保留`path`
- android - 我无法在已发布的 apk 中的屏幕之间导航
- linux - 使用主机 win10 从 docker 访问以太网摄像头
- reactjs - 我正在尝试从数组中过滤掉一些记录,但过滤器生效
- ubuntu - 无法在 Ubuntu 20.04 WSL2 上安装 Visual Studio?
- ruby-on-rails - 查找两个活动记录项数组之间的共同项
- javascript - 为什么不能使用条件运算符来有条件地增加这样的属性?
- html - 在 div 的中心显示文本
- angular - 嵌套元素时如何使动画并行播放