[ 
https://issues.apache.org/jira/browse/LOG4J2-1833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15943496#comment-15943496
 ] 

Ralph Goers commented on LOG4J2-1833:
-------------------------------------

While this error needs to be fixed, the result of the fix is going to be that 
an error will be logged during configuration and the Appender will be disabled. 
The "real" fix is to not specify a fileName attribute as is documented.

> NullPointerException using fileName property of RollingFile Appender with 
> DirectWriteRolloverStrategy
> -----------------------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-1833
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1833
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.8.1
>         Environment: Windows 7 64-bit JDK 8
>            Reporter: Austin Huck
>            Priority: Minor
>
> When using a {{RollingFileAppender}} with a {{DirectWriteRolloverStrategy}} 
> if the _fileName_ property of the appender is set, rollover fails with a 
> {{NullPointerException}}. If the _fileName_ attribute is not present logging 
> works as intended.
> Configuration that produces this error:
> {code:title=log4j2.xml|borderStyle=solid}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration status="warn" name="MyApp" packages="">
>     <Properties>
>         <Property name="baseDir">C:/logs</Property>
>     </Properties>
>     <Appenders>
>         <RollingFile name="RollingFile" fileName="${baseDir}/app.log"
>                      
> filePattern="${baseDir}/app-%d{yyyy-MM-dd'T'HH_mm_ss}.log">
>             <PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
>             <TimeBasedTriggeringPolicy interval="10"/>
>             <DirectWriteRolloverStrategy>
>                 <Delete basePath="${baseDir}">
>                     <IfFileName glob="app-*.log" />
>                     <IfAccumulatedFileCount exceeds="10" />
>                 </Delete>
>             </DirectWriteRolloverStrategy>
>         </RollingFile>
>     </Appenders>
>     <Loggers>
>         <Root level="trace">
>             <AppenderRef ref="RollingFile"/>
>         </Root>
>     </Loggers>
> </Configuration>
> {code}
> Stack Trace:
> {noformat}
> 2017-03-02 13:38:52,023 main ERROR An exception occurred processing Appender 
> RollingFile java.lang.NullPointerException: activeFileName
>       at java.util.Objects.requireNonNull(Objects.java:228)
>       at 
> org.apache.logging.log4j.core.appender.rolling.RolloverDescriptionImpl.<init>(RolloverDescriptionImpl.java:60)
>       at 
> org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy.rollover(DirectWriteRolloverStrategy.java:194)
>       at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:362)
>       at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.rollover(RollingFileManager.java:278)
>       at 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager.checkRollover(RollingFileManager.java:218)
>       at 
> org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:267)
>       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.LoggerConfig.logParent(LoggerConfig.java:439)
>       at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:434)
>       at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
>       at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:403)
>       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.logMessageSafely(AbstractLogger.java:2091)
>       at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1993)
>       at 
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1852)
>       at org.apache.logging.slf4j.Log4jLogger.error(Log4jLogger.java:299)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to