Zidium

Расширение Net Core Logging для Zidium позволяет отправлять из приложения в систему мониторинга следующие данные:

  1. Данные об ошибках
    Перед отправкой ошибки группируются, что позволяет экономить трафик. Данные об ошибках изменяют состояние компонента. Об изменении статуса компонента отправляются уведомления.

  2. Лог
    Лог не изменяет состояние компонента, используется только для чтения из личного кабинета.

Через расширение лога можно отправить только данные об ошибках и логи, если вам нужно отправлять результаты проверок или метрик, то нужно использовать Zidium API.

Расширение Net Core Logging для Zidium — это open source проект. Участвуйте, чтобы сделать его лучше!

https://github.com/Zidium/NetCoreAdapter


Для использования расширения лога выполните шаги:

1. Установите расширение лога

Рекомендуем устанавливать расширение через Nuget-пакет Zidium.NetCoreLogger

PM > Install-Package Zidium.NetCoreLogger

Исходный код расширения доступен на GitHub: https://github.com/Zidium/NetCoreAdapter

2. Настройте Zidium.config

Настройка Zidium API выполняется через файл Zidium.config, добавьте его к проекту (из-за ограничений Nuget 3 это невозможно сделать автоматически).

<?xml version="1.0" encoding="utf-8" ?>
<root>
    <access url="" secretKey="" />
    <defaultComponent id="" />
</root>

В файле нужно заполнить:

url - адрес сервиса Api (диспетчера)

secretKey - секретный ключ (смотрите в Управление — Ключи доступа к Api)

defaultComponent id - ID компонента по умолчанию, от имени которого будет происходить отправка данных приложения

3. Настройте Core logging

Пакет содержит два логгера:

  • ZidiumLog используется для отправки лога в Zidium
  • ZidiumErrors используется для мониторинга ошибок

При конфигурировании loggerFactory добавьте нужные вам логгеры и укажите Id компонента из личного кабинета. Можно не указывать componentId здесь, а задать его в разделе defaultComponent файла Zidium.config

Должно получиться так:

loggerFactory.AddZidiumLog();
loggerFactory.AddZidiumErrors();
// или loggerFactory.AddZidiumLog(new Guid("7e977e31-4a97-440c-a185-eb89b523914d"));
// или loggerFactory.AddZidiumErrors(new Guid("7e977e31-4a97-440c-a185-eb89b523914d"));

Важно! Перед завершением приложения нужно выполнить запись всех закешированных данных:

Zidium.Api.Client.Instance.EventManager.Flush();
Zidium.Api.Client.Instance.WebLogManager.Flush();

4. Отправка ошибок в Zidium

Для отправки ошибок в Zidium - просто запишите ошибку в лог, например:

try
{
    ...
}
catch (Exception exception)
{
    var logger = loggerFactory.CreateLogger<Program>();
    logger.LogError(0, exception, "Комментарий к ошибке");
}

Вы можете указать дополнительные параметры ошибки:

exception.Data.Add("user", "vasya");
exception.Data.Add("ip", "192.168.1.1");
logger.LogError(0, exception, "Комментарий к ошибке");

Чтобы посмотреть ошибки компонента, перейдите в раздел Ошибки личного кабинета и выберите нужный компонент.

Кликните по названию ошибки, чтобы увидеть более подробную информацию

5. Отправка логов в Zidium

Для отправки сообщений лога в Zidium - просто выполняется запись сообщений в лог:

var logger = loggerFactory.CreateLogger<Program>();
logger.LogInformation("My message");

Чтобы посмотреть записи лога, перейдите в раздел Лог личного кабинета.
Выберите нужный компонент в списке и нажмите кнопку Найти.
Будут показаны записи лога по этому компоненту:

Кликнув по записи лога, можно посмотреть её свойства:

Используйте фильтры в верхней части страницы, чтобы отобрать записи лога, которые вам нужны.