Does it work better with the current master? On Tue, Mar 22, 2016 at 4:25 PM, Gary Gregory <[email protected]> wrote:
> Coincidentally, I just got: > > 2016-03-22 07:58:19,034 main ERROR An exception occurred processing > Appender RollingFile java.lang.IllegalArgumentException > at java.nio.Buffer.position(Buffer.java:236) > at sun.nio.cs.UTF_8.updatePositions(UTF_8.java:78) > at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:564) > at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:619) > at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:561) > at > org.apache.logging.log4j.core.layout.TextEncoderHelper.encodeAsMuchAsPossible(TextEncoderHelper.java:93) > at > org.apache.logging.log4j.core.layout.TextEncoderHelper.encode(TextEncoderHelper.java:79) > at > org.apache.logging.log4j.core.layout.TextEncoderHelper.encodeText(TextEncoderHelper.java:66) > at > org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:185) > at > org.apache.logging.log4j.core.layout.AbstractLayout.encode(AbstractLayout.java:1) > at > org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:101) > at > org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:155) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:128) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:119) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) > at > org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:387) > at > org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:372) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:356) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:346) > at > org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63) > at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146) > at > org.apache.logging.log4j.spi.AbstractLogger.throwing(AbstractLogger.java:1263) > at > org.apache.logging.log4j.spi.AbstractLogger.throwing(AbstractLogger.java:1244) > at com.rs.jdbc.dv.DvLogger.throwingIOException(DvLogger.java:245) > > With a recent 2.6 SNAPSHOT. > > Gary > > On Tue, Mar 22, 2016 at 4:58 AM, Mikael Ståldal <[email protected] > > wrote: > >> I fixed it while moving the field and method to AbstractStringLayout (to >> be able to use from GelfLayout as well). >> >> On Tue, Mar 22, 2016 at 12:55 PM, Mikael Ståldal < >> [email protected]> wrote: >> >>> I am working on a fix. >>> >>> On Tue, Mar 22, 2016 at 11:52 AM, Remko Popma <[email protected]> >>> wrote: >>> >>>> I think you're right. This should be an instance field, not a static >>>> field. Good catch! >>>> >>>> >>>> On Tuesday, 22 March 2016, Mikael Ståldal <[email protected]> >>>> wrote: >>>> >>>>> In PatternLayout we have: >>>>> >>>>> private static final ThreadLocal<TextEncoderHelper> textEncoderHelper = >>>>> new ThreadLocal<>(); >>>>> >>>>> private TextEncoderHelper getCachedTextEncoderHelper() { >>>>> TextEncoderHelper result = textEncoderHelper.get(); >>>>> if (result == null) { >>>>> result = new TextEncoderHelper(getCharset()); >>>>> textEncoderHelper.set(result); >>>>> } >>>>> return result; >>>>> } >>>>> >>>>> >>>>> Does this really work properly? What if we have several instance of >>>>> PatternLayout with different charsets? >>>>> >>>>> -- >>>>> [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. >>> >> >> >> >> -- >> [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 > -- [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.
