You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by QQ <11...@qq.com.INVALID> on 2022/04/12 10:23:33 UTC
JobManager自定义log4j.properties不生效问题
现在有这样一个场景,我在同一台客户机上提交flink任务时,想要做到不同的任务的JobManager/TaskManager使用不同的log4j配置。于是通过命令行动态参数-Dlog4j.configurationFile=file:/Users/Documents/log4j.properties 设置,结果部署任务后发现配置没有生效,依然使用了FLINK_HOME/conf/log4j.properties。想问一下如何解决这个问题,还是说flink目前不支持通过动态参数方式配置log4j?
Re: JobManager自定义log4j.properties不生效问题
Posted by huweihua <hu...@gmail.com>.
现在是不支持通过动态参数特殊指定 log4j.properties 的, 有以下几个选项:
1. 提交作业时指定 FLINK_CONF_DIR 环境变量,这种方法需要通知增加 flink-conf.yaml
2. 使用统一的 log4j.properties, 通过动态参数修改 JVM properties 来达到定制化效果
3. 还有一个比较 trick 的办法是用户将 log4j.properties 打包在 user jar 中,使用 child-first 加载顺序
> 2022年4月13日 下午9:31,gangzi <11...@qq.com.INVALID> 写道:
>
> 现在问题是就是通过动态参数-D设置log4j配置文件不生效!通过查看源码发现底层是从$internal.yarn.log-config-file来指定log4j配置的,而这个参数又不建议外部使用的。
>
>
>
> ---原始邮件---
> 发件人: "huweihua"<huweihua.ckl@gmail.com>
> 发送时间: 2022年4月13日(周三) 晚上8:01
> 收件人: "user-zh"<user-zh@flink.apache.org>;
> 主题: Re: JobManager自定义log4j.properties不生效问题
>
>
> Hi, Flink 会自动从 $FLINK_CONF_DIR 中解析 log4j.properties 文件,因此你可以在提交任务前通过 export FLINK_CONF_DIR=xxx 来指定 flink-conf + log4j.properties.
>
> 除此之外,我的经验是所有作业使用同一份 log4j.properties,但是通过 JVM 的 properties 来为不同的作业指定不同配置。
>
> > 2022年4月12日 下午6:23,QQ <1139872666@qq.com.INVALID> 写道:
> >
> > 现在有这样一个场景,我在同一台客户机上提交flink任务时,想要做到不同的任务的JobManager/TaskManager使用不同的log4j配置。于是通过命令行动态参数-Dlog4j.configurationFile=file:/Users/Documents/log4j.properties 设置,结果部署任务后发现配置没有生效,依然使用了FLINK_HOME/conf/log4j.properties。想问一下如何解决这个问题,还是说flink目前不支持通过动态参数方式配置log4j?
回复:JobManager自定义log4j.properties不生效问题
Posted by gangzi <11...@qq.com.INVALID>.
现在问题是就是通过动态参数-D设置log4j配置文件不生效!通过查看源码发现底层是从$internal.yarn.log-config-file来指定log4j配置的,而这个参数又不建议外部使用的。
---原始邮件---
发件人: "huweihua"<huweihua.ckl@gmail.com>
发送时间: 2022年4月13日(周三) 晚上8:01
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: JobManager自定义log4j.properties不生效问题
Hi, Flink 会自动从 $FLINK_CONF_DIR 中解析 log4j.properties 文件,因此你可以在提交任务前通过 export FLINK_CONF_DIR=xxx 来指定 flink-conf + log4j.properties.
除此之外,我的经验是所有作业使用同一份 log4j.properties,但是通过 JVM 的 properties 来为不同的作业指定不同配置。
> 2022年4月12日 下午6:23,QQ <1139872666@qq.com.INVALID> 写道:
>
> 现在有这样一个场景,我在同一台客户机上提交flink任务时,想要做到不同的任务的JobManager/TaskManager使用不同的log4j配置。于是通过命令行动态参数-Dlog4j.configurationFile=file:/Users/Documents/log4j.properties 设置,结果部署任务后发现配置没有生效,依然使用了FLINK_HOME/conf/log4j.properties。想问一下如何解决这个问题,还是说flink目前不支持通过动态参数方式配置log4j?
Re: JobManager自定义log4j.properties不生效问题
Posted by huweihua <hu...@gmail.com>.
Hi, Flink 会自动从 $FLINK_CONF_DIR 中解析 log4j.properties 文件,因此你可以在提交任务前通过 export FLINK_CONF_DIR=xxx 来指定 flink-conf + log4j.properties.
除此之外,我的经验是所有作业使用同一份 log4j.properties,但是通过 JVM 的 properties 来为不同的作业指定不同配置。
> 2022年4月12日 下午6:23,QQ <11...@qq.com.INVALID> 写道:
>
> 现在有这样一个场景,我在同一台客户机上提交flink任务时,想要做到不同的任务的JobManager/TaskManager使用不同的log4j配置。于是通过命令行动态参数-Dlog4j.configurationFile=file:/Users/Documents/log4j.properties 设置,结果部署任务后发现配置没有生效,依然使用了FLINK_HOME/conf/log4j.properties。想问一下如何解决这个问题,还是说flink目前不支持通过动态参数方式配置log4j?