Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Подробнее Общие настройки логирования

Для службы DISI правила логирования настраиваются в конфигурационном файле NLog.config, в секции rules. Файл расположен в папке установки службы.

 

<rules>
  <logger name="*" minlevel="Info" writeTo="eventLog"/>
  <logger name="*" minlevel="Trace" writeTo="logFile"/>
    <filters>
      <!-- Отключить показ сообщений с уровнем ниже Info -->
      <when condition="(level &lt; LogLevel.Info)" action="Ignore" />
    </filters>
  <!--<logger name="*" minlevel="Fatal" writeTo="email" />-->
</rules>

Вариант логирования задается в атрибуте writeTo. По умолчанию события службы DISI регистрируются в журнале событий Windows «DISI Event Log» и записываются в лог-файл. Также можно отправлять информацию о событиях службы на электронную почту администратора.

Уровень логирования задается в атрибуте minlevel. Он определяет, какая информация будет записываться в журнал событий, в лог-файл или отправляться в письме. Возможные значения:

Уровень

Наименование

Описание

5

Error

Ошибки, при которых служба может продолжать работать

 

4

Warn

Предупреждения и ошибки. В этом случае служба DISI продолжает работать, но ее дальнейшая работы может быть некорректной. Например, на сервис передаются или принимаются неверные данные

 

3

Info

Информационные сообщения о ходе работы службы DISI

 

2

Debug

Отладочная информация по этапам определенного процесса, например, выполнен SQL-запрос или авторизован пользователь

 

1

Trace

Все события, включая отладочную информацию для анализа ошибок. Как правило, уровень Trace используется для пошагового логирования какого-либо процесса или метода. При этом уровне лог-файл значительно увеличивается из-за большого количества сообщений. По этой причине не рекомендуется постоянно использовать этот уровень

После установки или обновления службы рекомендуется закомментировать строку:

 

<!--<when condition="(level &lt; LogLevel.Info)" action="Ignore" />-->

Таким образом в лог-файл будет выводится максимальный объем информации, который может помочь при анализе возможных ошибок. Затем необходимо установить уровень логирования Trace, если ранее он не был установлен. После отладки работы службы рекомендуется вернуть настройки по умолчанию.

Для удобства отладки работы службы можно фильтровать сообщения лог-файла. Для этого необходимо задать настройки в секции filters перед строкой подавления уровней логирования. Фильтровать сообщения можно:

по процессам службы. Перечень процессов службы:

Наименование процесса

Описание

SynchronizeContacts

Синхронизация контактов

SynchronizeCounteragents

Синхронизация контрагентов

GetOutcomeMessages

Получение исходящих сообщений для отправки на сервис обмена

SendMessages

Отправка сообщений на сервис обмена

GetIncomingMessages

Получение сообщений с сервиса обмена

ProcessIncomingMessages

Обработка сообщений, загруженных с сервиса обмена

ReloadIncompleteMessages

Перезагрузка сообщений с ошибками

SendServiceDocuments

Отправка служебных документов

Пример синхронизации контактов:

 

<when condition="contains('${threadname}', 'SynchronizeContacts')" action="Log" />

 

Если необходимо выводить информацию по нескольким процессам, добавьте для каждого процесса новые строки. В лог-файл выводятся все сообщения, начиная с того уровня, для которого настраивается фильтрация.

 

по системе обмена. Пример настройки логирования для системы обмена Synerdocs:

 

<when condition="contains('${threadname}', 'Synerdocs')" action="Log" />

 

по нашим абонентам. Пример настройки логирования для нашего абонента с ИД = 123456:

 

<when condition="contains('${threadname}', '123456')" action="Log" />

 

Условия можно объединять, например, выводить в лог-файл информацию по процессу обработки сообщений из системы обмена Synerdocs:

 

<when condition="contains('${threadname}', 'Synerdocs') and contains('${threadname}', 'ProcessIncomingMessages')" action="Log" />

Подробное описание настроек фильтрации см. на сайте.

Примечание

После изменения настроек необходимо перезапустить службу DISI.

Подробнее Настройка отправки уведомлений на почту администратора

Отправлять информацию о событиях службы можно на электронную почту администратора. Для этого:

1.Раскомментируйте строку в секции rules:

<!--<logger name="*" minlevel ="Trace" writeTo="logfile"/>-->

2.Раскомментируйте настройку отправки сведений по почте:

<!--<target xsi:type="Mail"
         name="email"
         smtpServer="smtp.example.com"
         smtpAuthentication="Ntlm"
         enableSsl="false"
         subject="DISI critical error"
         from="from@domain.com"
         to="to@domain.com"/>-->

3.В атрибуте smtpAuthentication укажите режим аутентификации на почтовом сервере по логину и паролю – значение basic.
4.Добавьте и заполните значения атрибутов:

         smtpUserName="<Имя пользователя на почтовом сервере>"
         smtpPassword="<Пароль пользователя>"

Указывается пользователь для подключения к почтовому серверу.

5.Измените значения атрибутов:
smtpServer – адрес почтового сервера;
from – адрес отправителя;
to – адрес получателя.

При необходимости измените тему письма в атрибуте subject.

Подробнее Проверка отправки уведомлений на почту администратора

Чтобы проверить отправку сведений по почте:

1.Измените значение атрибута minlevel на Info в строке:

<logger name="*" minlevel ="Info" writeTo="logfile"/>

2.Выполните произвольное действие, которое задействует службу DISI. Допустим, отправьте документ на сервис.
3.Проверьте, что появилась новая запись в лог-файле службы.
4.Проверьте, что адресату пришло письмо по почте.
5.Если проверка прошла успешно, верните значение minlevel на значение по умолчанию.

Подробнее Размещение лог-файлов

Лог-файлы по умолчанию размещаются в папке <Папка установки службы>\logs. Путь к лог-файлам можно изменить в конфигурационном файле NLog.config, в атрибуте fileName.

Если используется несколько экземпляров службы, рекомендуется лог-файлы каждого экземпляра хранить в одной сетевой папке. Для этого в секции target для типа элемента File в атрибуте fileName необходимо указать сетевой путь, например, в формате:

fileName="\\<Сетевой путь>\DisiLogs\${machinename}_${shortdate}.log"

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

Подробнее Журнал событий

Чтобы посмотреть журнал DISI Event Log:

1.Откройте оснастку Windows «Просмотр событий».
2.В окне просмотра событий перейдите в группу «Журналы приложений и служб» и выберите журнал DISI Event Log. В области сведений отобразится список событий данного журнала.

Подробнее Формат вывода сообщений в лог-файл

Все сообщения, включая отладочную информацию выводятся в лог-файл в формате:

<Дата-время>|<Уровень логирования>|<Система обмена>|<ИД записи нашего абонента> |<Наименование процесса службы>|<Сообщение>

Например:

201806-09 02:19:03.1681|TRACE|Synerdocs|541217|MessagesImportProcess|Общее число сообщений для загрузки в Directum: 0

© Компания Directum, 2020 Сообщество пользователей Directum
.navbar > a:hover { background: #FFD73B; }