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 "Robert Veitch (JIRA)" <ji...@apache.org> on 2015/10/28 22:05:27 UTC
[jira] [Created] (LOG4J2-1184) NullPointerException when attempting
to configure logging in custom ShutdownCallbackRegistry
Robert Veitch created LOG4J2-1184:
-------------------------------------
Summary: NullPointerException when attempting to configure logging in custom ShutdownCallbackRegistry
Key: LOG4J2-1184
URL: https://issues.apache.org/jira/browse/LOG4J2-1184
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.2
Environment: OSX, Ubuntu
Reporter: Robert Veitch
Priority: Minor
I have a custom ShutdownCallbackRegistry implementation, which I've configured to be instantiated via:
-Dlog4j.shutdownCallbackRegistry=<my_implementation>
If I configure a logger in the normal way, either via a static or instance variable, I get a NullPointerException on startup. Something like:
private static final Logger logger = LoggerFactory.getLogger(MyClass.class);
I think this is probably because the configured registry instance gets created prior to the log4j subsystem responsible for loggers. My workaround is to define the logger variable without assigning it:
private static final Logger logger;
And then assigning it as the first line of my run method:
public void run() {
logger = LoggerFactory.getLogger(MyClass.class);
// shutdown registry code
}
But if possible, it seems like the instantiation order should be reworked so that implementers of a custom registry do not have to do this.
--
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