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)