2015-06-05 21 views
7

Jest możliwe, aby wyłączyć haki zamykaniem log4j2 poprzez konfigurację:Programowe wyłączenie hak zamykania w log4j 2

<Configuration shutdownHook="disable"> 

Czy to możliwe, aby to zrobić programowo?

+0

Łącze podpowiedzi, jak wyłączyć haki wyłączające poprzez konfigurację i ręcznie zamknąć log4j2 w kodzie. Nie informuje mnie, jak wyłączyć haki wyłączające w kodzie. –

Odpowiedz

0

Wiem, to prawdopodobnie nieaktualne, ale czułem na twoje pytanie i byłem w tej samej sytuacji. Tak więc dla osób zainteresowanych, używam ten kawałek kodu, aby zatrzymać hak zamykania programmaticaly:

final LoggerContextFactory factory = LogManager.getFactory(); 

if (factory instanceof Log4jContextFactory) { 
    LOG.info("register shutdown hook"); 
    Log4jContextFactory contextFactory = (Log4jContextFactory) factory; 

    ((DefaultShutdownCallbackRegistry) contextFactory.getShutdownCallbackRegistry()).stop(); 
} 

i we własnym hakiem zamykania

LogManager.shutdown(); 

log4j2: 2.8.2 (ale powinien być dostępny od 2.6)