You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2020/04/01 22:40:00 UTC

[jira] [Updated] (LOG4J2-2812) [JDBC] Throw a AppenderLoggingException instead of an NPE in the JDBC database manager

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

Gary D. Gregory updated LOG4J2-2812:
------------------------------------
    Summary: [JDBC] Throw a AppenderLoggingException instead of an NPE in the JDBC database manager  (was: Use a message for an NPE in the JDBC Appender)

> [JDBC] Throw a AppenderLoggingException instead of an NPE in the JDBC database manager
> --------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-2812
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2812
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Appenders, JDBC
>            Reporter: Gary D. Gregory
>            Assignee: Gary D. Gregory
>            Priority: Major
>
> A configuration error can lead to a mysterious NPE:
> {noformat}
> java.lang.NullPointerException
> 	at org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager.setStatementObject(JdbcDatabaseManager.java:753)
> 	at org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager.setFields(JdbcDatabaseManager.java:739)
> 	at org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager.writeInternal(JdbcDatabaseManager.java:804)
> 	at org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager.writeThrough(JdbcDatabaseManager.java:880)
> 	at org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager.write(AbstractDatabaseManager.java:264)
> 	at org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender.append(AbstractDatabaseAppender.java:110)
> 	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:543)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:502)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:460)
> 	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
> 	at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
> 	at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2198)
> 	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2152)
> 	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2135)
> 	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1836)
> 	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1290)
> {noformat}
> Throw a {{AppenderLoggingException}} instead, like other places in this class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)