[
https://issues.apache.org/jira/browse/LOG4J2-1025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14571331#comment-14571331
]
Gary Gregory commented on LOG4J2-1025:
--------------------------------------
I updated the JUL to Log4j Level map to a {{ConcurrentHashMap}} and changed how
it is built dynamically. There should not be any runtime exceptions due to
concurrent access. The only ugly part is the possible concurrent overwriting of
the same level mapping in case a new level is seen by the converter at the same
time. This should not cause a problem. Once all custom levels are registered,
that should be it.
> Custom java.util.logging.Level gives null Log4j Level and causes NPE
> --------------------------------------------------------------------
>
> Key: LOG4J2-1025
> URL: https://issues.apache.org/jira/browse/LOG4J2-1025
> Project: Log4j 2
> Issue Type: Bug
> Components: JUL adapter
> Affects Versions: 2.3
> Reporter: Mikael Ståldal
> Fix For: 2.4
>
> Attachments: LOG4J2-1025.patch
>
>
> I use a 3rd party library which uses custom non-standard
> java.util.logging.Level.
> The Log4j JUL adapter will emit log event with level set to null in that
> case, which causes NullPointerException in a Log4j filter further on.
> This is not acceptable. When encountering an unrecognised JUL Level, the JUL
> adapter should either:
> - emit some default Log4j Level
> - throw an Exception with a clear error message immediately
> - silently discard the log event
> - discard the log event and log a warning to the StatusLogger
> {code}
> java.lang.NullPointerException
> at org.apache.logging.log4j.Level.isMoreSpecificThan(Level.java:163)
> at
> org.apache.logging.log4j.core.filter.BurstFilter.filter(BurstFilter.java:129)
> at
> org.apache.logging.log4j.core.filter.BurstFilter.filter(BurstFilter.java:101)
> at
> org.apache.logging.log4j.core.Logger$PrivateConfig.filter(Logger.java:295)
> at org.apache.logging.log4j.core.Logger.isEnabled(Logger.java:122)
> at
> org.apache.logging.log4j.spi.ExtendedLoggerWrapper.isEnabled(ExtendedLoggerWrapper.java:87)
> at
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:699)
> at
> org.apache.logging.log4j.jul.WrappedLogger.log(WrappedLogger.java:50)
> at org.apache.logging.log4j.jul.ApiLogger.log(ApiLogger.java:106)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]