[
https://issues.apache.org/jira/browse/LOG4J2-1184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15185217#comment-15185217
]
Matt Sicker commented on LOG4J2-1184:
-------------------------------------
Is this still an issue or can we close it?
> 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]