[ https://issues.apache.org/jira/browse/LOG4J2-1824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15884139#comment-15884139 ]
Matt Sicker commented on LOG4J2-1824: ------------------------------------- One possible caveat: in Kafka, log messages are sent individually as messages. Thus, the pattern of continually transferring to ByteBuffers and draining them to continue writing larger messages wouldn't exactly work here. Instead, either some garbage has to be made in resizing buffers like in some ReusableMessage implementations, or a pool of differently sized buffers can be preallocated (doesn't sound ideal, but could be configurable for that sort of scenario where it would make sense). > (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