Двойное ведение журнала от Ignite

Я использую Apache Ignite в приложении Dropwizard и не могу заставить Ignite регистрироваться только через slf4j. Dropwizard поставляется с мостом jul-to-slf4j и устанавливает все мосты до запуска приложения.

Я следовал инструкциям по настройке ведения журнала, но все равно получаю дубликаты журналов:

IgniteConfiguration cfg = new IgniteConfiguration();
IgniteLogger log = new Slf4jLogger();
cfg.setGridLogger(log);
Ignite ignite = Ignition.start(cfg);

Вот вывод консоли:

INFO  main o.a.i.i.IgniteKernal: 

>>>    __________  ________________  
>>>   /  _/ ___/ |/ /  _/_  __/ __/  
>>>  _/ // (7 7    // /  / / / _/    
>>> /___/\___/_/|_/___/ /_/ /___/   
>>> 
>>> ver. 2.3.0#20171028-sha1:8add7fd5
>>> 2017 Copyright(C) Apache Software Foundation
>>> 
>>> Ignite documentation: http://ignite.apache.org

[10:34:32]    __________  ________________ 
[10:34:32]   /  _/ ___/ |/ /  _/_  __/ __/ 
[10:34:32]  _/ // (7 7    // /  / / / _/   
[10:34:32] /___/\___/_/|_/___/ /_/ /___/  
[10:34:32] 
[10:34:32] ver. 2.3.0#20171028-sha1:8add7fd5
[10:34:32] 2017 Copyright(C) Apache Software Foundation
[10:34:32] 
[10:34:32] Ignite documentation: http://ignite.apache.org
[10:34:32] 
[10:34:32] Quiet mode.
[10:34:32]   ^-- To see **FULL** console log here add -DIGNITE_QUIET=false or "-v" to ignite.{sh|bat}
[10:34:32] 

Первые строки в выводе выглядят так, как будто они прошли через slf4j, а затем метки времени выглядят так, как будто они пришли из JUL. Есть ли другой способ отключить то, что исходит от JUL?

1 ответ

Решение

У меня была такая же проблема. Убедитесь, что вы установили IGNITE_QUIET переменная окружения в false. Согласно документации: "Обратите внимание, что весь вывод в тихом режиме осуществляется через стандартный вывод (STDOUT)".

Вы можете сделать это в командной строке или вызвать

System.setProperty(org.apache.ignite.IgniteSystemProperties.IGNITE_QUIET, "false");

Перед звонком в Ignition.start(),

Другие вопросы по тегам