Для службы DISI правила логирования настраиваются в конфигурационном файле NLog.config, в секции rules. Файл расположен в папке установки службы.
<rules> Вариант логирования задается в атрибуте writeTo. По умолчанию события службы DISI регистрируются в журнале событий Windows «DISI Event Log» и записываются в лог-файл. Также можно отправлять информацию о событиях службы на электронную почту администратора. Уровень логирования задается в атрибуте minlevel. Он определяет, какая информация будет записываться в журнал событий, в лог-файл или отправляться в письме. Возможные значения:
После установки или обновления службы рекомендуется закомментировать строку:
<!--<when condition="(level < LogLevel.Info)" action="Ignore" />--> Таким образом в лог-файл будет выводится максимальный объем информации, который может помочь при анализе возможных ошибок. Затем необходимо установить уровень логирования Trace, если ранее он не был установлен. После отладки работы службы рекомендуется вернуть настройки по умолчанию. Для удобства отладки работы службы можно фильтровать сообщения лог-файла. Для этого необходимо задать настройки в секции filters перед строкой подавления уровней логирования. Фильтровать сообщения можно:
Пример синхронизации контактов:
<when condition="contains('${threadname}', 'SynchronizeContacts')" action="Log" />
Если необходимо выводить информацию по нескольким процессам, добавьте для каждого процесса новые строки. В лог-файл выводятся все сообщения, начиная с того уровня, для которого настраивается фильтрация.
<when condition="contains('${threadname}', 'Synerdocs')" action="Log" />
<when condition="contains('${threadname}', '123456')" action="Log" />
Условия можно объединять, например, выводить в лог-файл информацию по процессу обработки сообщений из системы обмена Synerdocs:
<when condition="contains('${threadname}', 'Synerdocs') and contains('${threadname}', 'ProcessIncomingMessages')" action="Log" /> Подробное описание настроек фильтрации см. на сайте. Примечание После изменения настроек необходимо перезапустить службу DISI. |
Настройка отправки уведомлений на почту администратора
Отправлять информацию о событиях службы можно на электронную почту администратора. Для этого:
<!--<logger name="*" minlevel ="Trace" writeTo="logfile"/>-->
<!--<target xsi:type="Mail"
smtpUserName="<Имя пользователя на почтовом сервере>" Указывается пользователь для подключения к почтовому серверу.
При необходимости измените тему письма в атрибуте subject. |
Проверка отправки уведомлений на почту администратора
Чтобы проверить отправку сведений по почте:
<logger name="*" minlevel ="Info" writeTo="logfile"/>
|
Лог-файлы по умолчанию размещаются в папке <Папка установки службы>\logs. Путь к лог-файлам можно изменить в конфигурационном файле NLog.config, в атрибуте fileName. Если используется несколько экземпляров службы, рекомендуется лог-файлы каждого экземпляра хранить в одной сетевой папке. Для этого в секции target для типа элемента File в атрибуте fileName необходимо указать сетевой путь, например, в формате: fileName="\\<Сетевой путь>\DisiLogs\${machinename}_${shortdate}.log" Таким образом в имени каждого лог-файла будет записываться имя компьютера с экземпляром службы. |
Чтобы посмотреть журнал DISI Event Log:
|
Формат вывода сообщений в лог-файл
Все сообщения, включая отладочную информацию выводятся в лог-файл в формате: <Дата-время>|<Уровень логирования>|<Система обмена>|<ИД записи нашего абонента> |<Наименование процесса службы>|<Сообщение> Например: 201806-09 02:19:03.1681|TRACE|Synerdocs|541217|MessagesImportProcess|Общее число сообщений для загрузки в Directum: 0 |
© Компания Directum, 2020 | Сообщество пользователей Directum |