2015-06-05 12 views
7

Es ist möglich, Shutdown-Haken in log4j2 über die Konfiguration deaktivieren zu deaktivieren:Programmatically Shutdown-Hook in log4j 2

<Configuration shutdownHook="disable"> 

Ist es möglich, so programmatisch zu tun?

+0

Der Link sagt mir, wie Shutdown-Hooks über die Konfiguration zu deaktivieren, und log4j2 manuell im Code herunterfahren. Es sagt mir nicht, wie Shutdown-Hooks im Code deaktiviert werden. –

Antwort

0

Ich weiß, es ist wahrscheinlich veraltet, aber ich fühlte auf Ihre Frage und ich war in der gleichen Situation. Also für Leute mit Interesse, verwende ich dieses Stück Code programmaticaly den Shutdown-Haken zu stoppen:

final LoggerContextFactory factory = LogManager.getFactory(); 

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

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

und in meinem eigenen Shutdown-Hook

LogManager.shutdown(); 

log4j2: 2.8.2 (soll aber seit 2.6 zur Verfügung)