[ 
https://issues.apache.org/jira/browse/LOG4J2-1824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15894251#comment-15894251
 ] 

Mikael Ståldal commented on LOG4J2-1824:
----------------------------------------

There is another problem with the Kafka client library we are using. If you 
look at {{KafkaManager.send()}}, it needs to allocate a new ProducerRecord each 
time.

As long as that's the case, I don't see much point in using the Encoder API in 
KafkaAppender/KafkaManager.


> (GC) Avoid allocating temporary objects in KafkaAppender
> --------------------------------------------------------
>
>                 Key: LOG4J2-1824
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1824
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Appenders
>            Reporter: Matt Sicker
>
> Due to API limitations in kafka-clients, log messages must be encoded into 
> byte arrays rather than directly into ByteBuffers via 
> {{Encoder<LogEvent>}}-enhanced layouts. I've opened up KAFKA-4802 to get 
> support on the client side for not converting the provided ByteBuffers back 
> into a byte array, but in the meantime, KafkaAppender and KafkaManager can be 
> enhanced to use the Encoder API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to