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