You don’t have a filename specified so it is trying to use 
DirectWriteRolloverStrategy. You are using SizeBasedTriggeringPolicy and don’t 
have %I in the pattern, which is normally required for a size based rollover. 
However, that doesn’t seem to be a problem here.

I notice that the previous file was in the directory named 2020_06_17 while the 
new file is supposed to go in 2020_06_18.  I have a suspicion it isn’t creating 
the directory for some reason.

Ralph

> On Jun 17, 2020, at 6:09 PM, Benjamin Asbach <contact-...@impl.it> wrote:
> 
> Hi,
> 
> every night after rolling we experience IOExceptions when our logger tries to 
> log. So after midnight there's no logging to that log file at all. The 
> application is running on four WebLogic12 nodes. All nodes are running on the 
> same machine. All logs are going to the same directory. The log files are 
> separated by the server id.
> 
> Looking forward for any input.
> 
> ## Config
> appender.localmsglog.type = RollingFile
> appender.localmsglog.name = localmsglog
> # NOTE: %d is needed for TimeBasedTriggeringPolicy
> appender.localmsglog.filePattern = 
> /LOG/%d{yyyy_MM_dd}/messages-$${date:yyyy_MM_dd_HH_mm_ss}-${serverinstance:}.log
> appender.localmsglog.layout.type = CustomXMLLayout
> appender.localmsglog.policies.type = Policies
> appender.localmsglog.policies.1.type = SizeBasedTriggeringPolicy
> appender.localmsglog.policies.1.size = 250MB
> appender.localmsglog.policies.2.type = TimeBasedTriggeringPolicy
> 
> 
> ## Error
> TRACE StatusLogger PatternProcessor.getNextTime returning 
> 2020/06/19-00:00:00.000, nextFileTime=2020/06/18-00:00:00.000, 
> prevFileTime=2020/06/17-00:00:00.000, current=2020/06/18-02:37:49.794, 
> freq=DAILY
> DEBUG StatusLogger Rolling /LOG/2020_06_17/messages-2020_06_17_19_52_34-1.log
> DEBUG StatusLogger Formatting file name. useCurrentTime=false. 
> currentFileTime=1592440669794, prevFileTime=1592344800000
> DEBUG StatusLogger Found 0 eligible files, max is  2147483647
> TRACE StatusLogger DirectWriteRolloverStrategy.purge() took 0.0 milliseconds
> DEBUG StatusLogger OutputStream closed
> DEBUG StatusLogger Formatting file name. useCurrentTime=false. 
> currentFileTime=1592440669794, prevFileTime=1592344800000
> DEBUG StatusLogger Formatting file name. useCurrentTime=true. 
> currentFileTime=1592440669794, prevFileTime=1592344800000
> DEBUG StatusLogger Now writing to 
> /LOG/2020_06_18/messages-2020_06_18_02_37_49-1.log at 
> 2020-06-18T02:37:49.804+0200
> ERROR StatusLogger RollingFileManager 
> /LOG/%d{yyyy_MM_dd}/messages-${date:yyyy_MM_dd_HH_mm_ss}-1.log Failed to 
> create file after rollover: java.io.FileNotFoundException: 
> /LOG/2020_06_18/messages-2020_06_18_02_37_49-1.log (No such file or directory)
> java.io.FileNotFoundException: 
> /LOG/2020_06_18/messages-2020_06_18_02_37_49-1.log (No such file or directory)
>        at java.io.FileOutputStream.open0(Native Method)
>        at java.io.FileOutputStream.open(FileOutputStream.java:270)
>        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
>        at 
> org.apache.logging.log4j.core.appender.FileManager.createOutputStream(FileManager.java:191)
>        at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.createFileAfterRollover(RollingFileManager.java:351)
>        at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:343)
>        at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.checkRollover(RollingFileManager.java:273)
>        at 
> org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:311)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:543)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:502)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:460)
>        at 
> org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
>        at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2198)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2152)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2135)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2011)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320)
>        ...
>        at 
> weblogic.ejb.container.internal.MDListener.execute(MDListener.java:453)
>        at 
> weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:376)
>        at 
> weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:311)
>        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4855)
>        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4529)
>        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3976)
>        at weblogic.jms.client.JMSSession.access$000(JMSSession.java:120)
>        at 
> weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5375)
>        at 
> weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
> ERROR StatusLogger Unable to write to stream 
> /LOG/%d{yyyy_MM_dd}/messages-${date:yyyy_MM_dd_HH_mm_ss}-1.log for appender 
> localmsglog
> org.apache.logging.log4j.core.appender.AppenderLoggingException: Error 
> writing to stream 
> /LOG/%d{yyyy_MM_dd}/messages-${date:yyyy_MM_dd_HH_mm_ss}-1.log
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:252)
>        at 
> org.apache.logging.log4j.core.appender.FileManager.writeToDestination(FileManager.java:273)
>        at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.writeToDestination(RollingFileManager.java:240)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:282)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:291)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:199)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181)
>        at 
> org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:312)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:543)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:502)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:460)
>        at 
> org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
>        at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2198)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2152)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2135)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2011)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320)
>        ...
>        at 
> weblogic.ejb.container.internal.MDListener.execute(MDListener.java:453)
>        at 
> weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:376)
>        at 
> weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:311)
>        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4855)
>        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4529)
>        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3976)
>        at weblogic.jms.client.JMSSession.access$000(JMSSession.java:120)
>        at 
> weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5375)
>        at 
> weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
> Caused by: java.io.IOException: Stream Closed
>        at java.io.FileOutputStream.writeBytes(Native Method)
>        at java.io.FileOutputStream.write(FileOutputStream.java:326)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:250)
>        ... 39 more
> ERROR StatusLogger An exception occurred processing Appender localmsglog
> org.apache.logging.log4j.core.appender.AppenderLoggingException: Error 
> writing to stream 
> /LOG/%d{yyyy_MM_dd}/messages-${date:yyyy_MM_dd_HH_mm_ss}-1.log
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:252)
>        at 
> org.apache.logging.log4j.core.appender.FileManager.writeToDestination(FileManager.java:273)
>        at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.writeToDestination(RollingFileManager.java:240)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:282)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:291)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:199)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181)
>        at 
> org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:312)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:543)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:502)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:460)
>        at 
> org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
>        at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2198)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2152)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2135)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2011)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320)
>        ...
>        at 
> weblogic.ejb.container.internal.MDListener.execute(MDListener.java:453)
>        at 
> weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:376)
>        at 
> weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:311)
>        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4855)
>        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4529)
>        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3976)
>        at weblogic.jms.client.JMSSession.access$000(JMSSession.java:120)
>        at 
> weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5375)
>        at 
> weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
> Caused by: java.io.IOException: Stream Closed
>        at java.io.FileOutputStream.writeBytes(Native Method)
>        at java.io.FileOutputStream.write(FileOutputStream.java:326)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:250)
>        ... 39 more
> ERROR StatusLogger Unable to write to stream 
> /LOG/%d{yyyy_MM_dd}/messages-${date:yyyy_MM_dd_HH_mm_ss}-1.log for appender 
> localmsglog
> org.apache.logging.log4j.core.appender.AppenderLoggingException: Error 
> writing to stream 
> /LOG/%d{yyyy_MM_dd}/messages-${date:yyyy_MM_dd_HH_mm_ss}-1.log
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:252)
>        at 
> org.apache.logging.log4j.core.appender.FileManager.writeToDestination(FileManager.java:273)
>        at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.writeToDestination(RollingFileManager.java:240)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:282)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:291)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:199)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190)
>        at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181)
>        at 
> org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:312)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
>        at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:543)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:502)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485)
>        at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:460)
>        at 
> org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
>        at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2198)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2152)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2135)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2011)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
>        at 
> org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320)
>        ...
>        at 
> weblogic.ejb.container.internal.MDListener.execute(MDListener.java:453)
>        at 
> weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:376)
>        at 
> weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:311)
>        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4855)
>        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4529)
>        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3976)
>        at weblogic.jms.client.JMSSession.access$000(JMSSession.java:120)
>        at 
> weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5375)
>        at 
> weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
> Caused by: java.io.IOException: Stream Closed
>        at java.io.FileOutputStream.writeBytes(Native Method)
>        at java.io.FileOutputStream.write(FileOutputStream.java:326)
>        at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:250)
>        ... 40 more
> 
> Thanks
> Benjamin
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to