Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
1.0.6
-
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)