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: [email protected]
For additional commands, e-mail: [email protected]