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

several NIO errors when using logback in tomcat

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 1.0.6
    • logback-core
    • None
    • centos 64bit, tomcat6

    Description

      I have multiple webapps running in tomcat all using logback. As discussed in the documentation, I configured the LoggingContextFilter and ContextDetachingSCL in the web.xml and sifting appender in logback.xml (attached). The only other configuration done is that at app startup some log levels are set programatically based on a separate properties file.

      When the app is running, I get an OverlappingFileLockException and ClosedChannelException NIO exceptions repeatedly. The stack traces are below. Log message volume is pretty high (2-3 GB log file per day), but iostat shows utilization as very low. After startup, all log messages originate from shared libraries and one particular webapp.

      ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE-jobs.v1] - Appender [FILE-jobs.v1] failed to append. java.nio.channels.OverlappingFileLockException
      at java.nio.channels.OverlappingFileLockException
      at at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1166)
      at at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1068)
      at at sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:824)
      at at java.nio.channels.FileChannel.lock(FileChannel.java:860)
      at at ch.qos.logback.core.FileAppender.safeWrite(FileAppender.java:187)
      at at ch.qos.logback.core.FileAppender.writeOut(FileAppender.java:204)
      at at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:212)
      at at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:148)
      at at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103)
      at at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
      at at ch.qos.logback.core.sift.SiftingAppenderBase.append(SiftingAppenderBase.java:94)
      at at ch.qos.logback.core.AppenderBase.doAppend(AppenderBase.java:85)
      at at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
      at at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:282)
      at at ch.qos.logback.classic.Logger.callAppenders(Logger.java:269)
      at at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:470)
      at at ch.qos.logback.classic.Logger.filterAndLog_1(Logger.java:442)
      at at ch.qos.logback.classic.Logger.debug(Logger.java:535)

      ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE-jobs.v1] - IO failure in appender java.nio.channels.ClosedChannelException
      at java.nio.channels.ClosedChannelException
      at at sun.nio.ch.FileChannelImpl.ensureOpen(FileChannelImpl.java:88)
      at at sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:243)
      at at ch.qos.logback.core.FileAppender.safeWrite(FileAppender.java:188)
      at at ch.qos.logback.core.FileAppender.writeOut(FileAppender.java:204)
      at at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:212)
      at at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:148)
      at at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103)
      at at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
      at at ch.qos.logback.core.sift.SiftingAppenderBase.append(SiftingAppenderBase.java:94)
      at at ch.qos.logback.core.AppenderBase.doAppend(AppenderBase.java:85)
      at at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
      at at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:282)
      at at ch.qos.logback.classic.Logger.callAppenders(Logger.java:269)
      at at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:470)
      at at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:424)
      at at ch.qos.logback.classic.Logger.info(Logger.java:644)

      Attachments

        Activity

          People

            logback-dev Logback dev list
            kireet Kireet Reddy
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: