You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by "Ralph Goers (JIRA)" <ji...@apache.org> on 2017/06/08 06:47:18 UTC
[jira] [Assigned] (LOG4J2-1916) Nullpointer with
DirectWriteRolloverStrategy
[ https://issues.apache.org/jira/browse/LOG4J2-1916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ralph Goers reassigned LOG4J2-1916:
-----------------------------------
Assignee: Ralph Goers
> Nullpointer with DirectWriteRolloverStrategy
> --------------------------------------------
>
> Key: LOG4J2-1916
> URL: https://issues.apache.org/jira/browse/LOG4J2-1916
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders, Core
> Affects Versions: 2.8.2
> Environment: Unix
> Reporter: Lukas Vogel
> Assignee: Ralph Goers
>
> h3.Steps to reproduce:
> Rolling config:
> {code:xml}
> <RollingFile name="Service"
> fileName="foo.log"
> filePattern="foo-%d{yyyy-MM-dd}-%i.log">
> <PatternLayout charset="UTF-8">
> <pattern>%m%n</pattern>
> </PatternLayout>
> <Policies>
> <TimeBasedTriggeringPolicy />
> <SizeBasedTriggeringPolicy size="1KB"/>
> </Policies>
> <DirectWriteRolloverStrategy />
> </RollingFile>
> {code}
> -Start program with given Log config.
> -Log something (>1KB).
> -Log something again -> NPE
> h3.Stacktrace:
> {code}
> 2017-05-19 10:20:52,752 http-nio-9081-exec-2 ERROR An exception occurred processing Appender Service 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.appender.routing.RoutingAppender.append(RoutingAppender.java:227)
> 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.appender.routing.RoutingAppender.append(RoutingAppender.java:227)
> 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.info(Log4jLogger.java:179)
> {code}
> h2.Possible Fix
> I think on line 184 in DirectWirteRolloverStrategy the assignment should be:
> final String sourceName = getCurrentFileName(manager);
> instead of using the field currentFileName.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)