У меня есть приложение с множеством различных частей, оно работает на OSGi, так что есть жизненные циклы комплекта, есть несколько обработчиков сообщений и компонентов плагинов, которые могут умереть, могут быть запущены и остановлены, изменены их настройки и т. Д. 1001 *
Мне нужен способ получить хорошее представление о текущем состоянии системы, о том, какие компоненты работают, у которых есть проблемы, как долго они работают и т. Д. Я думаю, что ведение журнала, особенно в сочетании с пользовательскими приложениями (я m использует log4j), является хорошей частью решения и помогает проводить специальный анализ, а также мониторинг в реальном времени.
Обычно я бы классифицировал события жизненного цикла как уровень INFO, но я действительно хочу, чтобы они отличались от того, что еще происходит в INFO. Я мог бы создать свой собственный уровень, LIFECYCLE.
События жизненного цикла происходят в разных областях и на разных уровнях в иерархии приложения, а также в тех же областях, что и другие события, от которых я хочу их отделить. Я мог бы представить общее управление жизненным циклом и использовать его, чтобы отличать события от других. Например, все компоненты, имеющие жизненный цикл, могут реализовывать определенный интерфейс, и я веду журнал по его имени.
Есть ли хорошие примеры того, как это делается в других местах? Какие соображения?