[ 
https://issues.apache.org/jira/browse/LOG4J2-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Remko Popma reassigned LOG4J2-1559:
-----------------------------------

    Assignee: Gary Gregory

> 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
>            Assignee: Gary Gregory
>             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-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to