[ https://issues.apache.org/jira/browse/LOG4J2-636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16813996#comment-16813996 ]
Aaron commented on LOG4J2-636: ------------------------------ [~rem...@yahoo.com] Hello, I also have the same problem. I think it is caused by the nonexistence of the path when creating log files. For example, if there is no corresponding month folder when switching months, an error will be reported, and the month folder will not be created automatically <!-- phone日志 --> <RollingRandomAccessFile name="jsondata" filePattern="${LOG_HOME}/jsondata/$${date:yyyy/MM}/jsondata-%d\{yyyy-MM-dd}.log"> <PatternLayout charset="UTF-8" pattern="%msg%n" /> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> <!--<OnStartupTriggeringPolicy minSize="0"/>--> <!--<CronTriggeringPolicy schedule="0 0 0 * * ?" evaluateOnStartup="true"/>--> </Policies> <!--<DirectWriteRolloverStrategy></DirectWriteRolloverStrategy>--> <!--<KeepEmptyFilesRolloverStrategy></KeepEmptyFilesRolloverStrategy>--> </RollingRandomAccessFile> 2019-05-01 00:00:09,716 startQuertz_Worker-1 ERROR An exception occurred processing Appender sys org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing to RandomAccessFile /Users/zhangcy/apache-tomcat-8.5.31/webapps/ROOT/WEB-INF/classes/../../../logs/sys/%d\{yyyy}/%d\{MM}/sys-%d\{dd}.log at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.writeToDestination(RollingRandomAccessFileManager.java:141) at org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:293) at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:160) 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.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:252) 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:464) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:448) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:431) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406) at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63) at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146) at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2170) at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2125) at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2108) at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2002) at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1974) at org.apache.logging.slf4j.Log4jLogger.error(Log4jLogger.java:319) at org.quartz.core.ErrorLogger.schedulerError(QuartzScheduler.java:2425) at org.quartz.core.QuartzScheduler.notifySchedulerListenersError(QuartzScheduler.java:2002) at org.quartz.core.JobRunShell.run(JobRunShell.java:215) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) Caused by: java.io.IOException: Stream Closed at java.io.RandomAccessFile.writeBytes(Native Method) at java.io.RandomAccessFile.write(RandomAccessFile.java:525) at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.writeToDestination(RollingRandomAccessFileManager.java:137) ... 26 more > IOException: Stream Closed RollingRandomAccessFile > -------------------------------------------------- > > Key: LOG4J2-636 > URL: https://issues.apache.org/jira/browse/LOG4J2-636 > Project: Log4j 2 > Issue Type: Bug > Components: Appenders > Affects Versions: 2.0-rc1 > Environment: Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 > GNU/Linux > Reporter: Adrian Wilford > Assignee: Remko Popma > Priority: Major > Labels: Rollover > Fix For: 2.1 > > > After some time, RollingRandomAccessFile can no longer write logging events > (have not run out of disk space). > {code} > 2014-05-13 10:05:18,284 ERROR Unable to write to stream logs/CALEEBaskets.log > for appender RollingRandomAccessFile > 2014-05-13 10:05:18,284 ERROR An exception occurred processing Appender > RollingRandomAccessFile > org.apache.logging.log4j.core.appender.AppenderLoggingException: Error > writing to RandomAccessFile logs/CALEEBaskets.log > at > org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:109) > at > org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.write(RollingRandomAccessFileManager.java:90) > at > org.apache.logging.log4j.core.appender.OutputStreamManager.write(OutputStreamManager.java:129) > at > org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:120) > at > org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:96) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97) > at > org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367) > at org.apache.logging.log4j.core.Logger.log(Logger.java:112) > at > org.apache.logging.log4j.spi.AbstractLogger.debug(AbstractLogger.java:338) > at > com.corticalSystems.CALEE.algorithms.baskets.persistence.orderLogging.OrderLoggingDAL.createNewOrder(OrderLoggingDAL.java:163) > at > com.corticalSystems.CALEE.algorithms.baskets.logic.ConstituentLogicThread.sendNewOrder(ConstituentLogicThread.java:1087) > at > com.corticalSystems.CALEE.algorithms.baskets.logic.ConstituentLogicThread.run(ConstituentLogicThread.java:1587) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.io.IOException: Stream Closed > at java.io.RandomAccessFile.writeBytes0(Native Method) > at java.io.RandomAccessFile.writeBytes(RandomAccessFile.java:520) > at java.io.RandomAccessFile.write(RandomAccessFile.java:550) > at > org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:106) > ... 14 more > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)