Двойное ведение журнала от 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()
,