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)
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. –