StringBuilder implements CharSequence; the copy method takes a CharSequence as its source of characters.
On Wednesday, 24 February 2016, Remko Popma <[email protected]> wrote: > See TextEncoderHelper's methods, > copy: from StringBuilder to CharBuffer > encodeText: from CharBuffer to ByteBufferDestination > > We don't want to create the byte[] array object so we write directly into > the ByteBuffer. > > On Wednesday, 24 February 2016, Mikael Ståldal <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: > >> I still cannot find a way to convert a StringBuilder to a byte[]. >> >> On Tue, Feb 23, 2016 at 11:03 PM, Gary Gregory <[email protected]> >> wrote: >> >>> How about /dropping/ Serializer1 altogether? Having both is mighty >>> complicated. >>> >>> Gary >>> >>> On Tue, Feb 23, 2016 at 8:52 AM, Remko Popma <[email protected]> >>> wrote: >>> >>>> I wouldn't mind that (no strong opinion either way) but I won't have >>>> time to do that work. >>>> >>>> On Wed, Feb 24, 2016 at 1:23 AM, Gary Gregory <[email protected]> >>>> wrote: >>>> >>>>> I see we now have: >>>>> >>>>> org.apache.logging.log4j.core.layout.AbstractStringLayout.Serializer2 >>>>> >>>>> Should we >>>>> deprecate >>>>> org.apache.logging.log4j.core.layout.AbstractStringLayout.Serializer >>>>> and reimplement everything in terms of Serializer2, even if objects are >>>>> allocated? >>>>> >>>>> Gary >>>>> >>>>> On Tue, Feb 23, 2016 at 7:59 AM, Remko Popma <[email protected]> >>>>> wrote: >>>>> >>>>>> Layout now extends Encoder so now it has this method: >>>>>> >>>>>> encode(LogEvent source, ByteBufferDestination destination) >>>>>> >>>>>> PatternLayout implements this method. It delegates the work of >>>>>> converting the StringBuilder to bytes and writing these bytes into the >>>>>> ByteBufferDestination to the TextEncoderHelper class. No objects are >>>>>> created during this conversion. >>>>>> >>>>>> The final piece is (Rolling)RandomAccessFileAppender, whose manager >>>>>> implements ByteBufferDestination. This appender calls the #encode() >>>>>> methos >>>>>> on the layout (other managers still call Layout#toByteArray). >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Feb 24, 2016 at 12:47 AM, Mikael Ståldal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> I cannot really find it. >>>>>>> >>>>>>> On Tue, Feb 23, 2016 at 3:59 PM, Remko Popma <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Yes, that was implemented in >>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1274. >>>>>>>> >>>>>>>> Please also see the description and discussion in the epic >>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1270. >>>>>>>> >>>>>>>> Sent from my iPhone >>>>>>>> >>>>>>>> On 2016/02/23, at 23:56, Mikael Ståldal <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Do we have any way to convert a StringBuilder to a byte[], without >>>>>>>> any intermediate String? >>>>>>>> >>>>>>>> It seems like org.apache.logging.log4j.core.util.StringEncoder cannot >>>>>>>> do it. >>>>>>>> >>>>>>>> -- >>>>>>>> [image: MagineTV] >>>>>>>> >>>>>>>> *Mikael Ståldal* >>>>>>>> Senior software developer >>>>>>>> >>>>>>>> *Magine TV* >>>>>>>> [email protected] >>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>>>>> >>>>>>>> Privileged and/or Confidential Information may be contained in this >>>>>>>> message. If you are not the addressee indicated in this message >>>>>>>> (or responsible for delivery of the message to such a person), you >>>>>>>> may not copy or deliver this message to anyone. In such case, >>>>>>>> you should destroy this message and kindly notify the sender by >>>>>>>> reply email. >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> [image: MagineTV] >>>>>>> >>>>>>> *Mikael Ståldal* >>>>>>> Senior software developer >>>>>>> >>>>>>> *Magine TV* >>>>>>> [email protected] >>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>>>> >>>>>>> Privileged and/or Confidential Information may be contained in this >>>>>>> message. If you are not the addressee indicated in this message >>>>>>> (or responsible for delivery of the message to such a person), you >>>>>>> may not copy or deliver this message to anyone. In such case, >>>>>>> you should destroy this message and kindly notify the sender by >>>>>>> reply email. >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> E-Mail: [email protected] | [email protected] >>>>> Java Persistence with Hibernate, Second Edition >>>>> <http://www.manning.com/bauer3/> >>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>>>> Spring Batch in Action <http://www.manning.com/templier/> >>>>> Blog: http://garygregory.wordpress.com >>>>> Home: http://garygregory.com/ >>>>> Tweet! http://twitter.com/GaryGregory >>>>> >>>> >>>> >>> >>> >>> -- >>> E-Mail: [email protected] | [email protected] >>> Java Persistence with Hibernate, Second Edition >>> <http://www.manning.com/bauer3/> >>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>> Spring Batch in Action <http://www.manning.com/templier/> >>> Blog: http://garygregory.wordpress.com >>> Home: http://garygregory.com/ >>> Tweet! http://twitter.com/GaryGregory >>> >> >> >> >> -- >> [image: MagineTV] >> >> *Mikael Ståldal* >> Senior software developer >> >> *Magine TV* >> [email protected] >> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >> >> Privileged and/or Confidential Information may be contained in this >> message. If you are not the addressee indicated in this message >> (or responsible for delivery of the message to such a person), you may >> not copy or deliver this message to anyone. In such case, >> you should destroy this message and kindly notify the sender by reply >> email. >> >
