Hi!

I figured it out, when I test I use CTRL+C to stop the node and that makes the log4j2 builtin shutdown hook to execute and it looks it is executed in parallel with the jvm shutdown hooks and before Ignite is finished with shutdown, so I disabled log4j2's shutdown hook (-Dlog4j.shutdownHookEnabled=false) and then do a LogManager.shutdown() at the end of Ignites AFTER_NODE_STOP event is complete and now it works just fine.

Mikael


Den 2019-10-09 kl. 10:54, skrev Ilya Kasnacheev:
Hello!

I don't think this should happen? Can you add breakpoint to this method (LogManager.shutdown), share stack trace with us once it gets hit?

Regards,
--
Ilya Kasnacheev


вт, 8 окт. 2019 г. в 23:44, Mikael <[email protected] <mailto:[email protected]>>:

    Hi!

    I gave up on the JUL logging so I went back to log4j 2, this works
    better but there is still very weird behavior.

    I run my code as a LifeCycleBean and all works fine, but the
    moment that
    LifeCyclebean::BEFORE_NODE_STOP event is called the log4j 2 logger is
    shutdown, if I turn on log4j2.debug=true I see:

    "DEBUG StatusLogger Stopping LoggerContext[name=,
    org.apache.logging.log4j.core.LoggerContext@543588e6]" just when the
    BEFORE_NODE_STOP event is executed and any logging after that is
    lost,
    it looks like the shutdown hook log4j 2 install is executed at
    that time
    looking at the source code but how is that possible ? I would
    assume I
    am doing something silly as I have not heard any one else complain
    about
    this, any idea what it could be ?

    This all standard log4j2 logging out of the box, I do have a
    Cassandra
    client running with slf4j->log4j2 setup in the same application,
    but I
    do not think that has anything to do with it and I shutdown the
    Cassandra client in the AFTER_NODE_STOP event later on.

    Mikael




Reply via email to