Ankit Sharma created FLINK-11324:
------------------------------------
Summary: Custom Log4j properties for each flink job
Key: FLINK-11324
URL:
https://issues.apache.org/jira/browse/FLINK-11324 Project: Flink
Issue Type: Improvement
Components: Flink on Tez
Affects Versions: 1.6.2
Reporter: Ankit Sharma
It would be a good idea if we can have a custom log4j files/location for each job we run via flink.
Currently there is no option for that in flink command.
I tried providing log4j properties by using below command but it didn't worked for me:
flink run /usr/lib/flink/examples/batch/WordCount.jar -Dlog4j.configuration=~/log4j_ABC.properties
So, i checked the source code of flink and found that the path of log4j proerpties are hard-coded in flink command script, so did few twik to make it work. It worked for me but i am really not sure about what other components it might affect.
Below are the steps/changes done:
1. Add below code in $FLINK_HOME/bin/flink file just after the config.sh being called, this code will add a new environment variable FLINK_LOG_SETTING in which we will be setting the log4j-cli.properties absolute path:
if [ -z "$FLINK_LOG_SETTING" ]; then FLINK_LOG_SETTING=$FLINK_CONF_DIR; fi
2. In log_setting variable mentioned in flink, change the -Dlog4j.configuration as below:
log_setting=(-Dlog.file="$log" -Dlog4j.configuration=file:"$FLINK_LOG_SETTING"/log4j-cli.properties -Dlogback.configurationFile=file:"$FLINK_CONF_DIR"/logback.xml)
3. save the changes.
4. Now before executing any flink job in cli, export the FLINK_LOG_SETTING to any custom path where you have log4j-cli.properties present for the respective job.
$ export FLINK_LOG_SETTING=/home/hadoop/test
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)