Zidium

Файл Zidium.config используется для указания настроек Zidium API. Он должен находиться в одной папке с запускаемой сборкой приложения.

Также можно поместить Zidium.config в ресурс — для этого у файла укажите Build action = Embedded resource.

В качестве альтернативы можно программно задать все параметры в свойстве Config класса Zidium.Api.IClient.

Пример файла Zidium.config
Скачать

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

где:

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

secretKey - ключ доступа к Api

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


Все настройки Zidium.config
Скачать

<?xml version="1.0" encoding="utf-8" ?>
<!-- Подробнее об этом файле: https://zidium.net/wiki/api/dot-net/zidium-xml -->

<root>
    <!-- Параметры доступа -->
    <!-- secretKey - Ключ доступа к Api -->
    <!-- waitOnErrorSeconds - Интервал перед следующей попыткой отправки данных в случае ошибки, в секундах -->
    <!-- disable - Полное отключение всех функций -->
    <!-- url - Явное указание адреса сервиса Api -->
    <access secretKey=""
            waitOnErrorSeconds="60"
            disable="false"
            url="" />

    <!-- Id компонента по умолчанию -->
    <!-- Его получает метод GetDefaultComponentControl() -->
    <defaultComponent id="" />

    <!-- Параметры работы с логом -->
    <logs>

        <!-- Параметры web-лога -->
        <!-- disable - Полное отключение web-лога -->
        <!-- threads - Количество внутренних потоков, которые будут отправлять данные -->
        <!-- batchBytes - Примерный размер одного пакета отправки данных, в байтах -->
        <!-- sendPeriodSeconds - Интервал отправки данных, в секундах -->
        <!-- reloadConfigsPeriodSeconds - Интервал обновления настроек web-лога из личного кабинета, в секундах -->
        <!-- queueBytes - Максимальный размер очереди web-лога, в байтах -->
        <webLog disable="false"
                threads="3"
                batchBytes="10 240"
                sendPeriodSeconds="5"
                reloadConfigsPeriodSeconds="300"
                queueBytes="104 857 600" />

        <!-- Параметры внутреннего лога самого Api -->
        <!-- disable - Полное отключение внутреннего лога -->
        <!-- encoding - Кодировка файла -->
        <!-- filePath - Шаблон пути и имени файла -->
        <!-- minLevel - Минимальная важность записи, требуемая для попадания в лог -->
        <!-- deleteOldFileOnStartup - Перезаписывать текущий файл или добавлять данные к нему -->
        <internalLog disable="false"
                 encoding="utf-8"
                 filePath="#appDir\Logs\#date\#appName_Internal_#date_#hour.txt"
                 minLevel="warning"
                 deleteOldFileOnStartup="false" />

        <!-- Автоматическое созданий событий-ошибок по логу -->
        <!-- Disable - отключение автоматического создания -->
        <autoCreateEvents disable="false" />
    </logs>

    <!-- Параметры работы с событиями -->
    <events>
        <!-- Параметры менеджера событий -->
        <!-- disable - Полное отключение отправки событий -->
        <!-- sendPeriodSeconds - Период отправки событий, в секундах -->
        <!-- threads - Количество внутренних потоков, которые будут отправлять данные -->
        <!-- maxSend - Максимальное количество новых событий, обрабатываемых за одну итерацию отправки -->
        <!-- maxJoin - Максимальное количество склееных событий, обрабатываемых за одну итерацию отправки -->
        <!-- queueBytes - Максимальный размер очереди событий, в байтах -->
        <eventManager disable="false"
                      sendPeriodSeconds="5"
                      threads="1"
                      maxSend="1000"
                      maxJoin="1000"
                      queueBytes="104 857 600"/>

        <!-- Значения по умолчанию для свойств новых событий -->
        <defaultValues>
            <!-- Событие компонента -->
            <!-- joinIntervalSeconds - Интервал склейки по умолчанию, в секундах -->
            <componentEvent joinIntervalSeconds="300"/>

            <!-- Ошибка -->
            <!-- joinIntervalSeconds - Интервал склейки по умолчанию, в секундах -->
            <applicationError joinIntervalSeconds="300"/>
        </defaultValues>
    </events>
</root>

Разделы и параметры

Значения по умолчанию подходят для большинства ситуаций. Не меняйте параметры, если не знаете точно, что делаете.

Все параметры, кроме ключа доступа, нечувствительны к регистру — можно использовать и заглавные, и строчные буквы.

<access>

В этом разделе указываются параметры доступа к серверу Zidium.

secretKey

Ключ доступа к Api. Ключами доступа можно управлять в Личном кабинете в разделе УправлениеКлючи доступа к Api.

waitOnErrorSeconds

Интервал перед следующей попыткой отправки данных в случае ошибки, в секундах. При любой ошибке отправки данных Api не будет пытаться отправить данные в течение указанного интервала.
По умолчанию — 60 секунд.

disable

Полное отключение всех функций Zidium. При установленном параметре все вызовы методов Api будут возвращать управление, ничего не делая, как будто Zidium нет вообще. Может пригодиться для тестирования работы без Zidium, или если вы подозреваете, что Zidium вносит проблемы в работу вашего приложения.
По умолчанию — false.

url

Адрес сервиса Api (диспетчера).
По умолчанию — пусто.

<defaultComponent>

В этом разделе указывается Id компонента по умолчанию, который можно получить из Api методом IClient.GetDefaultComponentControl()

Id

Id компонента по умолчанию

<logs>

В этом разделе указываются параметры логов.

<webLog>

В этом разделе указываются параметры web-лога. Web-лог отправляется в Zidium (в облако).

disable

Полное отключение web-лога. Никакие данные не будут отправляться.
По умолчанию — false.

threads

Количество внутренних потоков, которые будут отправлять данные.
По умолчанию — 3.

batchBytes

Примерный размер одного пакета отправки данных, в байтах. Если размер записей лога больше значения параметра, то отправка будет разбита на несколько пакетов так, чтобы размер пакета по возможности не превышал указанного значения.
По умолчанию — 10 КБайт.

sendPeriodSeconds

Интервал отправки данных, в секундах.
По умолчанию — 5 секунд.

reloadConfigsPeriodSeconds

Интервал обновления настроек web-лога из личного кабинета, в секундах. Включенные уровни лога можно менять из Личного кабинета для каждого компонента индивидуально. Api перечитывает эти настройки через указанный интервал.
По умолчанию — 5 минут.

queueBytes

Максимальный размер очереди web-лога, в байтах. Между отправками данные web-лога хранятся в памяти. Максимальный размер очереди в памяти задаётся в этом параметре. Если размер очереди достигнет максимума (так может произойти из-за длительного отсутствия интернета), самые старые записи будут удалены из памяти и не попадут в систему.
По умолчанию — 100 МБайт.

<internalLog>

В этом разделе указываются параметры внутреннего лога самого Api. Это классический лог, который пишется в локальный текстовый файл. Во внутренний лог выводятся данные о работе самого Api. Лог может быть полезен, если в работе Api возникли проблемы. По умолчанию внутренний лог отключен.

disable

Полное отключение внутреннего лога. Никакие файлы не будут записываться.
По умолчанию — true.

encoding

Кодировка текстового файла. Поддерживаются любые кодировки из типа System.Text.Encoding.
По умолчанию — utf-8.

filePath

Шаблон пути и имени файла. Все недостающие папки будут созданы автоматически. Подстановки аналогичны файловому логу.
По умолчанию — #appDir\Logs\#date\#appName_#date_#hour.txt

minLevel

Минимальная важность записи, требуемая для попадания в лог. Можно использовать значения: trace, debug, info, warning, error, fatal. Например, если установлено значение error, то в файл лога попадут только записи с важностью error и fatal.
По умолчанию — warning.

deleteOldFileOnStartup

Перезаписывать ли текущий файл. Имя текущего файла определяется параметром filePath. Если такой файл уже есть и эта настройка включена, то файл будет перезаписан. Иначе данные будут добавлены в его конец.
По умолчанию — false.

<autoCreateEvents>

В этом разделе настраивается автосоздание событий-ошибок по логу.
Если включено, то любая запись лога с переданным exception будет создавать событие категории ApplicationError.

disable

Отключение автосоздания событий.
По умолчанию — true.

<events>

В этом разделе указываются параметры работы с событиями.

<eventManager>

В этом разделе указываются параметры внутреннего менеджера событий Api.

disable

Полное отключение отправки событий через Api.
По умолчанию — false.

sendPeriodSeconds

Интервал отправки данных, в секундах.
По умолчанию — 5 секунд.

threads

Количество внутренних потоков, которые будут отправлять данные.
По умолчанию — 1.

maxSend

Максимальное количество новых событий, обрабатываемых за одну итерацию отправки.
По умолчанию — 1000.

maxJoin

Максимальное количество склеенных событий, обрабатываемых за одну итерацию отправки.
По умолчанию — 1000.

queueBytes

Максимальный размер очереди событий, в байтах. Между отправками события хранятся в памяти. Максимальный размер очереди в памяти задаётся в этом параметре. Если размер очереди достигнет максимума (так может произойти из-за длительного отсутствия интернета), самые старые записи будут удалены из памяти и не попадут в систему.
По умолчанию — 100 МБайт.

<defaultValues>

В этом разделе указываются значения по умолчанию для свойств новых событий

<componentEvent>

В этом разделе указываются значения по умолчанию для свойств новых событий компонента, то есть событий с категорией ComponentEvent.

joinIntervalSeconds

Интервал склейки, в секундах.
По умолчанию — 5 минут.

<applicationError>

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

joinIntervalSeconds

Интервал склейки, в секундах.
По умолчанию — 5 минут.