Hi,

I am trying to deploy my flink application and get some logs on the web UI.
I am using the latest version of flink (1.14). I am deploying it with
docker.

When I run the application without any custom log4j2 everything works:

   - I can see the logs in "Logs" tab on the web UI for both JM and TM
   - I can see the logs in "Log List" tab named
   "flink--standalonesession-0-jm.log" and "flink--taskexecutor-0-tm.log" for
   JM and TM respectively. I can also see those files inside the containers
   in /opt/flink/log directory



Now I want to have my custom naming. I have named the log files "flink.log"
for both TM and JM
I have copy/pasted the log4j-console.properties from flink and I have only
changed lines 55-56 from:

*appender.rolling.fileName = ${sys:log.file}*

*appender.rolling.filePattern = ${sys:log.file}.%i*


to

*appender.rolling.fileName = /opt/flink/log/flink.log*

*appender.rolling.filePattern = /opt/flink/log/flink.log.%*i



When I do that:

   - I do not see logs in "Logs" tab on the web UI for neither JM nor TM
   - I can see logs in "Log List" tab named "flink.log" only for my TM. I
   cannot see the the logs for the JM.



If I set "web.log.path: /opt/flink/log/flink.log" for both JM and TM, then
I can see logs for TM under "Log List" tab.
But they do not show in the "Logs" tab for TM and they do not show for the
JM at all. I can find the logs in /opt/flink/log for both TM and JM.


My question is: How can I show the logs in the UI under both "Logs" and
"Log List" tabs when I use a custom name for my log file?


Here is a very simple example to be reproduced:
https://github.com/nikobearrr/flink-logging-webui
To switch between default logging and "custom" logging you need to comment
out the volume part of both services and remove the "web.log.path"
environmental variable.

Regards,
Nikola

Reply via email to