[logback-user] java.lang.NullPointerException from RollingFileAppender

Ceki Gülcü ceki at qos.ch
Thu Mar 5 11:29:34 CET 2015


Hello,

Looks like a bug to me. Could you please file a bug report at jira.qos.ch?

On 3/5/2015 10:36, pmatulionis wrote:
> I have this logback configuration:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <configuration debug="true" scan="true" scanPeriod="60 minutes">
>      <appender name="LOGOUTPUT"
> class="ch.qos.logback.core.rolling.RollingFileAppender">
>          <file>${catalina.base}/logs/gateway_api.log</file>
>          <encoder>
>              <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
> %msg%n</pattern>
>          </encoder>
>          <rollingPolicy
> class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
>              <FileNamePattern>logFile.%d{yyyy-MM-dd}.log</FileNamePattern>
>          </rollingPolicy>
>      </appender>
>
>      <appender name="STDOUTPUT" class="ch.qos.logback.core.ConsoleAppender">
>          <encoder>
>              <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
> %msg%n</pattern>
>          </encoder>
>      </appender>
>
>      <logger name="com.groupgti" level="DEBUG"/>
>      <logger name="org.springframework" level="INFO"/>
>      <logger name="org.apache.cxf" level="INFO"/>
>      <root level="WARN">
>          <appender-ref ref="LOGOUTPUT"/>
>      </root>
> </configuration>
>
> And these dependencies in my classpath:
>
>          <dependency>
>              <groupId>org.slf4j</groupId>
>              <artifactId>slf4j-api</artifactId>
>              <version>1.7.10</version>
>              <scope>compile</scope>
>          </dependency>
>          <dependency>
>              <groupId>org.slf4j</groupId>
>              <artifactId>jcl-over-slf4j</artifactId>
>              <version>1.7.10</version>
>              <scope>compile</scope>
>          </dependency>
>          <dependency>
>              <groupId>ch.qos.logback</groupId>
>              <artifactId>logback-classic</artifactId>
>              <version>1.1.2</version>
>              <scope>compile</scope>
>          </dependency>
>
> And I am seing a lot of these exception in my logs:
>
> 08:55:58,884 |-INFO in
> c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Elapsed
> period: Wed Feb 25 08:55:45 GMT 2015
> 08:55:58,889 |-INFO in c.q.l.co.rolling.helper.RenameUtil - Renaming file
> [/usr/share/apache-tomcat-8.0.18/logs/saml.log] to [logFile.2015-02-25.log]
> 08:55:58,891 |-WARN in c.q.l.co.rolling.helper.RenameUtil - Failed to rename
> file [/usr/share/apache-tomcat-8.0.18/logs/saml.log] as
> [logFile.2015-02-25.log].
> 08:55:58,892 |-ERROR in
> ch.qos.logback.core.rolling.RollingFileAppender[LOGOUTPUT] - Appender
> [LOGOUTPUT] failed to append. java.lang.NullPointerException
> 	at java.lang.NullPointerException
> 	at 	at
> ch.qos.logback.core.rolling.helper.FileStoreUtil.areOnSameFileStore(FileStoreUtil.java:44)
> 	at 	at
> ch.qos.logback.core.rolling.helper.RenameUtil.areOnDifferentVolumes(RenameUtil.java:97)
> 	at 	at
> ch.qos.logback.core.rolling.helper.RenameUtil.rename(RenameUtil.java:67)
> 	at 	at
> ch.qos.logback.core.rolling.TimeBasedRollingPolicy.rollover(TimeBasedRollingPolicy.java:153)
> 	at 	at
> ch.qos.logback.core.rolling.RollingFileAppender.attemptRollover(RollingFileAppender.java:158)
> 	at 	at
> ch.qos.logback.core.rolling.RollingFileAppender.rollover(RollingFileAppender.java:137)
> 	at 	at
> ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:178)
> 	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.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
> 	at 	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273)
> 	at 	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260)
> 	at 	at
> ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442)
> 	at 	at ch.qos.logback.classic.Logger.filterAndLog_1(Logger.java:414)
> 	at 	at ch.qos.logback.classic.Logger.debug(Logger.java:507)
> 	at 	at
> com.groupgti.saml.handler.AssertionHandler.purgeRecords(AssertionHandler.java:95)
> 	at 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at 	at java.lang.reflect.Method.invoke(Method.java:483)
> 	at 	at
> org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)
> 	at 	at
> org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
> 	at 	at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> 	at 	at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> 	at 	at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
> 	at 	at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at 	at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at 	at java.lang.Thread.run(Thread.java:745)
> 08:55:58,944 |-ERROR in
> c.q.l.c.recovery.ResilientFileOutputStream at 1011140840 - IO failure while
> writing to file [/usr/share/apache-tomcat-8.0.18/logs/saml.log]
> java.io.IOException: Stream Closed
> 	at java.io.IOException: Stream Closed
> 	at 	at java.io.FileOutputStream.writeBytes(Native Method)
> 	at 	at java.io.FileOutputStream.write(FileOutputStream.java:315)
> 	at 	at
> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
> 	at 	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
> 	at 	at
> ch.qos.logback.core.recovery.ResilientOutputStreamBase.flush(ResilientOutputStreamBase.java:79)
> 	at 	at
> ch.qos.logback.core.encoder.LayoutWrappingEncoder.doEncode(LayoutWrappingEncoder.java:137)
> 	at 	at
> ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:194)
> 	at 	at ch.qos.logback.core.FileAppender.writeOut(FileAppender.java:209)
> 	at 	at
> ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:219)
> 	at 	at
> ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:182)
> 	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.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
> 	at 	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273)
> 	at 	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260)
> 	at 	at
> ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442)
> 	at 	at ch.qos.logback.classic.Logger.filterAndLog_1(Logger.java:414)
> 	at 	at ch.qos.logback.classic.Logger.error(Logger.java:547)
> 	at 	at
> com.groupgti.saml.handler.AssertionHandler.purgeRecords(AssertionHandler.java:103)
> 	at 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at 	at java.lang.reflect.Method.invoke(Method.java:483)
> 	at 	at
> org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)
> 	at 	at
> org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
> 	at 	at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> 	at 	at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> 	at 	at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
> 	at 	at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at 	at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at 	at java.lang.Thread.run(Thread.java:745)
> 10:07:37,098 |-INFO in c.q.l.c.recovery.ResilientFileOutputStream at 1011140840
> - Attempting to recover from IO failure on file
> [/usr/share/apache-tomcat-8.0.18/logs/saml.log]
> 10:07:37,099 |-INFO in c.q.l.c.recovery.ResilientFileOutputStream at 1011140840
> - Recovered from IO failure on file
> [/usr/share/apache-tomcat-8.0.18/logs/saml.log]
> 08:55:58,946 |-INFO in
> c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Elapsed
> period: Thu Feb 26 08:55:58 GMT 2015
> 08:55:58,947 |-INFO in c.q.l.co.rolling.helper.RenameUtil - Renaming file
> [/usr/share/apache-tomcat-8.0.18/logs/saml.log] to [logFile.2015-02-26.log]
> 08:55:58,947 |-WARN in c.q.l.co.rolling.helper.RenameUtil - Failed to rename
> file [/usr/share/apache-tomcat-8.0.18/logs/saml.log] as
> [logFile.2015-02-26.log].
> 08:55:58,947 |-ERROR in
> ch.qos.logback.core.rolling.RollingFileAppender[LOGOUTPUT] - Appender
> [LOGOUTPUT] failed to append. java.lang.NullPointerException
>
> Any idea why?
>
>
>
>
> --
> View this message in context: http://logback.10977.n7.nabble.com/java-lang-NullPointerException-from-RollingFileAppender-tp14082.html
> Sent from the Users mailing list archive at Nabble.com.
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/logback-user
>


More information about the Logback-user mailing list