You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Andrey Kurilov (JIRA)" <ji...@apache.org> on 2018/03/29 11:58:00 UTC
[jira] [Comment Edited] (LOG4J2-2247) RollingRandomAccessFile
appender with DirectWriteRolloverStrategy fails with a NullPointerException
when a header is supplied
[ https://issues.apache.org/jira/browse/LOG4J2-2247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418837#comment-16418837 ]
Andrey Kurilov edited comment on LOG4J2-2247 at 3/29/18 11:57 AM:
------------------------------------------------------------------
Still doesn't work in 2.11.0
Leaving the "fileName" attribute yields:
{code:java}
2018-03-30 14:48:20,408 main ERROR The fileName attribute must not be specified with the DirectWriteRolloverStrategy{code}
NPE occurs when the "fileName" attribute is removed:
{code:java}
2018-03-30 14:48:50,486 Log4j2-TF-1-AsyncLogger[AsyncContext@33909752]-1 ERROR An exception occurred processing Appender cliFile java.lang.NullPoint
erException
at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.closeOutputStream(RollingRandomAccessFileManager.java:168)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:403)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:312)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.checkRollover(RollingFileManager.java:252)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:239)
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:448)
at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:79)
at org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:381)
at org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:160)
at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:45)
at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:150)
at java.lang.Thread.run(Thread.java:748)
{code}
The appender config:
{code}
{
"name" : "cliFile",
"type" : "RollingRandomAccessFile",
//"fileName" : "${ctx:baseDir}${sys:file.separator}log${sys:file.separator}${ctx:stepId}${sys:file.separator}cli.args.log",
"filePattern" : "${ctx:baseDir}${sys:file.separator}log${sys:file.separator}$${ctx:stepId}${sys:file.separator}cli.args.log",
"StepIdTriggeringPolicy" : {
},
"DirectWriteRolloverStrategy" : {
},
"PatternLayout" : {
"pattern" : "%m%n"
}
}
{code}
was (Author: akurilov123):
Still doesn't work in 2.11.0
Leaving the "fileName" attribute yields:
{code:java}
2018-03-30 14:48:20,408 main ERROR The fileName attribute must not be specified with the DirectWriteRolloverStrategy{code}
NPE occurs when the "fileName" attribute is removed:
{code:java}
2018-03-30 14:48:50,486 Log4j2-TF-1-AsyncLogger[AsyncContext@33909752]-1 ERROR An exception occurred processing Appender cliFile java.lang.NullPoint
erException
at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.closeOutputStream(RollingRandomAccessFileManager.java:168)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:403)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:312)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.checkRollover(RollingFileManager.java:252)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:239)
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:448)
at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:79)
at org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:381)
at org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:160)
at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:45)
at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:150)
at java.lang.Thread.run(Thread.java:748)
{code}
> RollingRandomAccessFile appender with DirectWriteRolloverStrategy fails with a NullPointerException when a header is supplied
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: LOG4J2-2247
> URL: https://issues.apache.org/jira/browse/LOG4J2-2247
> Project: Log4j 2
> Issue Type: Bug
> Affects Versions: 2.9.0, 2.9.1, 2.10.0, 2.11.0
> Environment: The additional note attached to LOG4J2-1928 indicates that the failure happens when a header is supplied. Since a unit test validates that the Appender does work with the DirectWriteRolloverStrategy without a header it must be surmised that this error only happens when a header is supplied.
> Reporter: Andrey Kurilov
> Priority: Critical
> Fix For: 2.11.1
>
>
> See the comment
> https://issues.apache.org/jira/browse/LOG4J2-1928?focusedCommentId=16158414&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16158414
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)