Отчеты об ошибках
Самый простой способ отправки отчета об ошибке или сообщении из драйвера или плагина AggreGate - это использование стандатной функции журналирования. AggreGate использует библиотеку Log4j для журналирования. Для журналирования сообщения требуется всего одна строка кода Java:
Logger.getLogger("ag.core").info("A message");
или
Logger.getLogger("ag.device.acme").error("Unexpected error", exception);
Документация библиотеки Log4j предлагает комплексную документацию всех аспектов конфигурирования и реализации журналирования.
Класс Log
обеспечивает заранее определенные устройства регистрации общими категориями журналирования AggreGate. Вот пример использования:
Log.CORE.info("A message");
Отчет об ошибках через события AggreGate
Сообщения и ошибки, регистрируемые при помощи журнала, не видны системным операторам. Только системные администраторы, имеющие доступ к машине с запущенными AggreGate Server или AggreGate Client, могут проверять журнал. Перенаправление вывода журнала другим адресатам все же не сделает информацию доступной операторам.
Чтобы сделать сообщение или проблему доступной одному и более системным операторам, сообщите о ней путем поиска события AggreGate типа инфо:
- Извлеките экземпляр соответствующего
Context
черезContextManager.get()
. Это может быть контекст устройства (если сообщать о проблеме из драйвера), контекст администратора (если сообщать о проблеме масштаба системы, такой как проблема запуска плагина) или любой другой контекст AggreGate Server. - Вызовите
Context.fireEvent()
для генерирования нового события контекста. Событие будет сохраняться в базе данных сервера и направляться подписанным слушателям (например, Журнал событий), чтобы системные операторы и администраторы могли получить доступ.
Ниже приведенный пример иллюстрирует, как составляется отчет о внутренней исправимой ошибке из драйвера устройства:
|