[jira] [Commented] (LOG4J2-1873) Implement UTF-8 encoding that doesn't use CharsetEncoder

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (LOG4J2-1873) Implement UTF-8 encoding that doesn't use CharsetEncoder

JIRA jira@apache.org

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

Roman Leventov commented on LOG4J2-1873:
----------------------------------------

Or implementation from Apache Harmony: https://github.com/apache/harmony-classlib/blob/15867416ca717a9910abb787989205223f5b1f09/modules/nio_char/src/main/java/org/apache/harmony/niochar/charset/UTF_8.java#L219

> Implement UTF-8 encoding that doesn't use CharsetEncoder
> --------------------------------------------------------
>
>                 Key: LOG4J2-1873
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1873
>             Project: Log4j 2
>          Issue Type: Improvement
>            Reporter: Roman Leventov
>
> CharsetEncoder accepts only CharBuffers, and for the sake of being entirely garbage-free we don't want to use CharBuffer.wrap(stringBuilder), when encoding an event.
> That forces us to make additional data copy from StringBuilder to a thread-local CharBuffer.
> This could be avoided by implementing UTF-8 encoding logic in log4j-core itself, and not using CharsetEncoder.
> This issue is specifically about UTF-8 because it is used predominantly and it's relatively easy to implement. There are also likely some open-source Apache 2-compatible implementations in Java out there already that we could just copy and adapt.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]