Можно ли отправлять сообщения в формате AVRO с помощью приложения log4j2 Kafka - PullRequest
0 голосов
/ 29 апреля 2020

Я работаю над отправкой журналов из приложения Spring Boot в Kafka с использованием Log4j2. Из моих исследований видно, что формат сообщений AVRO является эффективным способом отправки сообщений в Kafka. Однако, когда я проверил «org / apache / kafka / log4jappender / KafkaLog4jAppender. java« Я вижу, что он использует ByteArraySerializer.

private static final String KEY_SERIALIZER_CLASS_CONFIG = ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG;
private static final String VALUE_SERIALIZER_CLASS_CONFIG = ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG

props.put(KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.ByteArraySerializer");
props.put(VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.ByteArraySerializer");

this.producer = getKafkaProducer(props);

Существует другой класс »org / apache / logging / log4j / core /appender/mom/kafka/KafkaAppender.java"

Похоже, что этот поддерживает сериализатор Avro. Приведенная ниже ссылка содержит пример log4j2 Kafka Appender, однако есть вопрос, который был задан, но не получил ответа. Не могли бы вы взглянуть на это и дать мне знать, что это правильный подход.

http://mail-archives.apache.org/mod_mbox/kafka-users/201608.mbox/%3CSN2PR05MB24610165F4741F91BD6B2C40B2E10@SN2PR05MB2461.namprd05.prod.outlook.com%3E

Спасибо за вашу помощь заранее.

...