Настройка журналирования

События Web-клиента протоколируются с помощью компонента NLog (http://nlog-project.org).

Для каждой используемой БД в режиме мультитенантности ведётся свой журнал, например: WebClient_DataBaseName_ГГГГ-ММ-ДД.

Базовые настройки журналирования представлены в панели управления (Раздел "WebClient"). Расширенные настройки осуществляются в конфигурационном файле Web-клиента.

  1. Откройте конфигурационный файл Каталог-установки-Web-клиента\5.5\Site\web.config.

  2. Перейдите к секции configuration  nlog.

  3. Измените параметры журналирования.

    Измените значение атрибута fileName элемента targets  target  target, чтобы настроить путь для сохранения журнала работы.

    В fileName можно использовать допустимые для Nlog переменные (https://github.com/nlog/NLog/wiki/File-target), например: C:\Logs\${level}\WebClient_${shortdate}.log.

    Измените значение атрибута level элемента rules  logger, например, на trace, чтобы включить протоколирование всех типов событий.

    Допустимые уровни протоколирования приведены на странице https://github.com/nlog/NLog/wiki/Configuration-file#log-levels.

    Для получения дополнительной информации о других настройках NLog обратитесь к документации по данной платформе.

  4. Сохраните изменения конфигурационного файла.

    Уровень журналирования может быть изменён методом /api/Log/SetLogLevel, если пользователь, который вызывает метод, состоит в группе DocsVision Administrators. Методом можно задать следующие уровни: Trace = 0, Debug = 1, Info = 2, Warn = 3, Error = 4 (любое другое значение будет распознано как Error). Передать уровень журналирования можно, например, при помощи GET-параметра minLevel:

    api/Log/SetLogLevel?minLevel=0

    После рестарта IIS уровень журналирования будет возвращён в исходное состояние в соответствии с конфигурационным файлом.

Расширенное журналирование

Web-клиент поддерживает расширенное журналирование параметров производительности. Сюда входит точное логирование времени выполнения запросов Web-клиента, время выполнения запросов к dvappserver с привязкой к запросу Web-клиента.

Для настройки доступно три фильтра журнала: По пользователю, По конкретному адресу, По времени запроса.

После включения диагностического логирования можно делать запросы. Если в параметре будет слеш (\ или /), его необходимо переводить в URL код. Иными словами, заменять example\usr01 на example%5Cusr01.

Для отдельного запроса Web-клиента можно посмотреть:
  • Какие запросы к dvappserver выполнялись.

  • Время, потраченное на выполнение каждого из них.

  • Время, проведённое запросами на стороне dvappserver и на стороне Web-клиента.

  • Параметры запросов.

Эта информация позволяет:
  • Устанавливать причины аномально быстрого или медленного выполнения запроса Web-клиента.

  • Выявлять ошибки и неоптимальные места в работе Web-клиента и Object Manager.

  • Обнаруживать блокировки Web-клиента и Object Manager.

  • Выявлять проблемные запросы на сервере.

Чтобы включить диагностическое логирование, нужно в конфигурационном файле Web-клиента для параметра EnableDiagnosticsLogger в разделе configuration  Docsvision > WebClient > SettingGroups > SettingGroup[Name="System"] указать значение 1:

 <Docsvision>
    <WebClient>
      <SettingGroups>
        <SettingGroup Name="System">
          <Setting Name="EnableDiagnosticsLogger" Value="1" /> (1)
        </SettingGroup>
      </SettingGroups>
    </WebClient>
  </Docsvision>
1 Включить расширенное журналирование.