gpt4 book ai didi

logging - flink 中的自定义 log4j 属性

转载 作者:行者123 更新时间:2023-12-02 04:30:08 26 4
gpt4 key购买 nike

我们如何在 flink run 命令中从命令行传递自定义 log4j 属性?我已经完成了其他问题12但我仍然无法覆盖我具有自定义日志记录配置的现有 log4j 文件。

我也试过 ./bin/flink run -m yarn-cluster -yn 1 -yD env.java.opts="-Dlog4j.configuration=file:///path/to/log4j.properties"./examples/batch/WordCount.jar

有了这个,我看到它被添加到 jobmanager 日志中,但 flink 客户端日志仍然使用 conf/log4j.properties。

我尝试在 flink-conf.yaml 文件中添加 env.java.opts 并使其正常工作,但我想从命令行传递自定义 log4j.properties。此外,当从 flink-conf.yaml 传递额外选项时,我检查了在 config.sh 脚本中为 $FLINK_ENV_JAVA_OPTS 设置了此参数。在这种情况下,./bin/flink 需要修改才能从自定义日志中读取。像这样的东西

log=$FLINK_LOG_DIR/flink-$FLINK_IDENT_STRING-client-$HOSTNAME.log

if [ "$FLINK_ENV_JAVA_OPTS" ]; then
log_setting=(-Dlog.file="$log" "$FLINK_ENV_JAVA_OPTS" -
Dlogback.configurationFile=file:"$FLINK_CONF_DIR"/logback.xml)
else
log_setting=(-Dlog.file="$log" -
Dlog4j.configuration=file:"$FLINK_CONF_DIR"/log4j-cli.properties -
Dlogback.configurationFile=file:"$FLINK_CONF_DIR"/logback.xml)
fi

除了上述选项之外,还有其他方法可以传递自定义 log4j 吗?

最佳答案

不确定对您来说回复是否为时已晚。在我们的实践中,我们通过在执行“flink run”之前覆盖 flink/conf/中现有的 log4j-cli.properties 文件来实现这个技巧。

关于logging - flink 中的自定义 log4j 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49630157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com