2015-06-05 2 views
7

Можно отключить завершение работы крюков в log4j2 с помощью конфигурации:Программного отключение выключения крюка в log4j 2

<Configuration shutdownHook="disable"> 

Можно ли сделать это программно?

+0

Ссылка сообщает мне, как отключить крюки выключения через конфигурацию и вывести log4j2 вручную в код. Это не говорит мне о том, как отключить выключения в коде. –

ответ

0

Я знаю, это, наверное, устарело, но я почувствовал на ваш вопрос, и я был в той же ситуации. Таким образом, для людей, заинтересованных, я использую этот кусок кода, чтобы остановить выключение крючок programmaticaly:

final LoggerContextFactory factory = LogManager.getFactory(); 

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

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

и в моем собственном выключение крючок

LogManager.shutdown(); 

log4j2: 2.8.2 (но должны быть доступны начиная с 2.6)

Смежные вопросы