You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Gary Gregory (JIRA)" <ji...@apache.org> on 2016/09/03 18:53:20 UTC
[jira] [Resolved] (LOG4J2-1559) NPE in Level.isInRange
[ https://issues.apache.org/jira/browse/LOG4J2-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Gregory resolved LOG4J2-1559.
----------------------------------
Resolution: Fixed
Fix Version/s: 2.7
In Git master, Please verify and close.
> NPE in Level.isInRange
> ----------------------
>
> Key: LOG4J2-1559
> URL: https://issues.apache.org/jira/browse/LOG4J2-1559
> Project: Log4j 2
> Issue Type: Bug
> Components: Filters
> Affects Versions: 2.4, 2.4.1, 2.5, 2.6, 2.6.1, 2.6.2
> Environment: Windows 10, Java 1.7
> Reporter: Andrey Plotkin
> Fix For: 2.7
>
> Attachments: 0001-LOG4J2-1559-Check-proper-value-in-LevelRangeFilter.patch
>
>
> I got an NPE during simple test:
> Test class:
> public class Test {
> public static void main(String[] args) {
> Logger logger = LogManager.getLogger(Test.class);
> logger.info("123");
> }
> }
> Maven part:
> <dependencies>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-core</artifactId>
> <version>2.6.2</version>
> </dependency>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-1.2-api</artifactId>
> <version>2.6.2</version>
> </dependency>
> </dependencies>
> log4j2.xml part:
> <Configuration>
> <Appenders>
> <Console name="StdErr" target="SYSTEM_ERR">
> <LevelRangeFilter minLevel="WARN" />
> </Console>
> </Appenders>
> <Loggers>
> <Root level="all">
> <AppenderRef ref="StdErr" />
> </Root>
> </Loggers>
> </Configuration>
> The NPE is thrown in:
> Level.isInRange(Level, Level) line: 155
> LevelRangeFilter.filter(Level) line: 80
> LevelRangeFilter.filter(LogEvent) line: 85
> ConsoleAppender(AbstractFilterable).isFiltered(LogEvent) line: 135
> AppenderControl.isFilteredByAppender(LogEvent) line: 150
> AppenderControl.callAppender0(LogEvent) line: 127
> AppenderControl.callAppenderPreventRecursion(LogEvent) line: 119
> AppenderControl.callAppender(LogEvent) line: 84
> LoggerConfig.callAppenders(LogEvent) line: 390
> LoggerConfig.processLogEvent(LogEvent) line: 375
> LoggerConfig.log(LogEvent) line: 359
> LoggerConfig.log(String, String, Marker, Level, Message, Throwable) line: 349
> AwaitCompletionReliabilityStrategy.log(Supplier<LoggerConfig>, String, String, Marker, Level, Message, Throwable) line: 63
> Logger.logMessage(String, Level, Marker, Message, Throwable) line: 146
> Logger(Category).maybeLog(String, Level, Object, Throwable) line: 452
> Logger(Category).info(Object) line: 262
> Test.main(String[]) line: 9
> According to my investigation, degradation was introduced here:
> https://issues.apache.org/jira/browse/LOG4J2-1106
> Bug is in LevelRangeFilter, here:
> final Level actualMaxLevel = minLevel == null ? Level.ERROR : maxLevel;
> It has to be:
> final Level actualMaxLevel = maxLevel == null ? Level.ERROR : maxLevel;
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org