Hi, I am recently working on syncing my Flink log to Kafka via log4j2 Kafka appender. I have a log4j2.properties file which works fine locally, say run my flink fat jar form terminal via following command: PS D:\repo>>java -cp .\reconciliation-1.0-SNAPSHOT.jar <myMainClass> The log can be synced to Kafka successfully when run locally.
The contents of log4j2.properties file are pasted below: rootLogger.level = INFO rootLogger.appenderRef.kafka.ref = KafkaLog appender.kafka.type = Kafka appender.kafka.name = KafkaLog appender.kafka.topic = topicName appender.kafka.properties[0].type=Property appender.kafka.properties[0].name=bootstrap.servers appender.kafka.properties[0].value=<bootstrap.servers> appender.kafka.properties[1].type=Property appender.kafka.properties[1].name=sasl.mechanism appender.kafka.properties[1].value=PLAIN appender.kafka.properties[2].type=Property appender.kafka.properties[2].name=sasl.jaas.config appender.kafka.properties[2].value=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="${env:log_event_hub_connection_string}"; appender.kafka.properties[3].type=Property appender.kafka.properties[3].name=security.protocol appender.kafka.properties[3].value=SASL_SSL appender.kafka.layout.type = JsonTemplateLayout appender.kafka.layout.eventTemplateUri = classpath:kusto-applogv2-layout.json appender.kafka.layout.eventTemplateAdditionalField[0].type = EventTemplateAdditionalField appender.kafka.layout.eventTemplateAdditionalField[0].key = Application appender.kafka.layout.eventTemplateAdditionalField[0].value = reconciliation appender.kafka.layout.eventTemplateAdditionalField[0].format = String appender.kafka.layout.eventTemplateAdditionalField[1].type = EventTemplateAdditionalField appender.kafka.layout.eventTemplateAdditionalField[1].key = Language appender.kafka.layout.eventTemplateAdditionalField[1].value = Java appender.kafka.layout.eventTemplateAdditionalField[1].format = String I am now deploying Flink via Flink Kubernetes operator. However, after I copied the contents in log4j2.properties file to log4j-console.properties under section of logConfiguration in FlinkDeployment yaml, the kafka Appender failed to init with error message: 2023-12-05 10:12:36,903 main ERROR Unable to locate plugin type for JsonTemplateLayout 2023-12-05 10:12:36,991 main ERROR Unable to locate plugin for EventTemplateAdditionalField 2023-12-05 10:12:36,991 main ERROR Unable to locate plugin for EventTemplateAdditionalField 2023-12-05 10:12:37,047 main ERROR Unable to locate plugin for JsonTemplateLayout My question is that Does Flink Kubernetes operator support Kafka appender configuration in log4j-console.properties? If so can anyone provide me with an example? PS: similar error message once showed up when run locally, I fixed the issue with sulotion posted here. via adding com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer to pom file. java - Console contains an invalid element or attribute "JsonTemplateLayout" even after adding dependency - Stack Overflow<https://stackoverflow.com/questions/75838785/console-contains-an-invalid-element-or-attribute-jsontemplatelayout-even-after> Thanks, Chosen