When I run my Flink app via the Google Flink Operator, log4j2 logging
doesn't show up in logs. System.out.println messages work.

Everything should be very plain-vanilla-standard setup. I have a log4j2.xml
config file in my classpath included in my application .jar file. I'm
building a custom Docker image based on `flink:1.14.3-scala_2.12-java11`
that simply copies my application .jar and all transitive dependencies to
`/opt/flink/lib`. My app is built with the same
`org.apache.logging.log4j:log4j-core:2.17.1` dependency that Flink 1.14.3
uses.

If I shell into my docker image and run `java -cp "/opt/flink/lib/*"
myapp.LoggingTest`, the logging works, I see it on the console. When I
submit this via the Google Flink Kubernetes Operator, I don't see the
logging output, but I do see println output.

If I change my app to use logback, I see that output, which is weird. How
do I troubleshoot the log4j2 option? Or should I just use logback if that
works? For a long running Flink job, I just want to see startup+config
logs + exception logs.

thank you :)

Reply via email to