Uploaded image for project: 'logback'
  1. logback
  2. LOGBACK-892

stauffer.james@gmail.com when trying to log 90MB String with PatternLayout

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 1.0.12
    • logback-classic
    • None
    • JRE 1.6.0_35 with -Xms1200M -XX:MaxPermSize=256M
      It is actually version 1.0.13 but that wasn't a choice.

    Description

      When I load a 90MB file into a String and try to log it I get the following:
      Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
      at java.util.Arrays.copyOf(Unknown Source)
      at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
      at java.lang.AbstractStringBuilder.append(Unknown Source)
      at java.lang.StringBuilder.append(Unknown Source)
      at ch.qos.logback.core.pattern.FormattingConverter.write(FormattingConverter.java:40)
      at ch.qos.logback.core.pattern.PatternLayoutBase.writeLoopOnConverters(PatternLayoutBase.java:119)
      at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:168)
      at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:59)
      at ch.qos.logback.core.encoder.LayoutWrappingEncoder.doEncode(LayoutWrappingEncoder.java:134)
      at ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:188)
      at ch.qos.logback.core.FileAppender.writeOut(FileAppender.java:206)
      at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:212)
      at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:175)
      at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103)
      at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
      at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
      at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
      at ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
      at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:441)
      at ch.qos.logback.classic.Logger.filterAndLog_1(Logger.java:413)
      at ch.qos.logback.classic.Logger.debug(Logger.java:506)
      ...

      Appender: ch.qos.logback.core.rolling.RollingFileAppender
      Pattern: %p %d

      {HH:mm:ss.SSS}

      %c:%L %X

      {DC4ParcelID}

      %m%n

      Maybe when the message is too big, it can use a more memory efficient method to log (or reduce functionality).

      Attachments

        Activity

          People

            logback-dev Logback dev list
            jstauffer James Stauffer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: