Содержание

Логи системы

Типы логов

ADVANTA умеет записывать детальные технические логи о:

Все настройки детальных системных логов расположены здесь: Администрирование → Общие настройки → Общие настройки → Система сбора информации об ошибках.

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

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

Рисунок 1 – Система логирования производительности системных процессов

Ошибки и события

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

Как настроить лог событий и лог ошибок

  1. Запросите в поддержке файл log4net.config или скопируйте и сохраните текст ниже в файле с таким названием и расширением.
    <log4net>
      <appender name="GeneralAppender" type="SL.App.Log.RollingFileAppender, SL.App">
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="50" />
        <maximumFileSize value="100MB" />
        <staticLogFileName value="true" />
        <immediateFlush value="false" />
    	<file value="C:\SL_Files\Documents\logs\all\log.txt" />
        <layout type="SL.App.Log.TextFilePatternLayout, SL.App">
    		<conversionPattern value="%date [%thread] %level - %message%newline-Module: %property{Module}%newline-RequestUrl: %property{RequestUrl}%newline" />
    	</layout>
      </appender>
      <appender name="ErrorFatalAppender" type="SL.App.Log.RollingFileAppender, SL.App">
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="50" />
        <maximumFileSize value="100MB" />
        <staticLogFileName value="true" />
        <immediateFlush value="false" />
    	<file value="C:\SL_Files\Documents\logs\ErrorLog.txt" />
        <layout type="SL.App.Log.TextFilePatternLayout, SL.App">
    		<conversionPattern value="%date [%thread] %level - %message%newline-Module: %property{Module}%newline-RequestUrl: %property{RequestUrl}%newline" />
    	</layout>	
    	<filter type="log4net.Filter.LevelRangeFilter">
    		<levelMin value="ERROR" />
    		<levelMax value="FATAL" />
    	</filter>
        <filter type="log4net.Filter.DenyAllFilter" />
      </appender>
      <root>
        <level value="ALL" />
        <appender-ref ref="GeneralAppender" />
    	<appender-ref ref="ErrorFatalAppender" />
      </root>
    </log4net>
  2. Поместите файл log4net.config в корень папки с веб-контентом системы.
    Корневая директория приложения по умолчанию имеет путь
     C:\inetpub\wwwroot\streamline 

    Путь по умолчанию, если вы устанавливали систему строго по инструкции.

  3. Перезапустите пул приложения системы, после перезапуска выполните несколько действий в системе и проверьте что в файлах лого начали появляться записи.
Файл log4net.config настраивает сразу 2 лога: системных событий и ошибок.

Как передать ошибку в поддержку

  1. Cохраните файл log4net.config в корневой директории Advanta.
  2. Воспроизведите ошибку.
  3. Выгрузите файл с логом и передайте его в поддержку вместе с данными о времени воспроизведения и ссылками на страницы системы, где выполнялось воспроизведение ошибки.

Как выгрузить лог событий

Если у вас есть доступ к директории, где размещается Advanta на вашем веб-сервере, вы можете скопировать эти файлы оттуда.

Если прямого доступа к файлам на сервере нет, выгрузите логи в интерфейсе Администратора в Advanta:

  1. Администрирование → Общие настройки → Общие настройки → Система сбора информации об ошибках
  2. Выгрузить логи производительности системных процессов → «Выгрузить»

Как читать лог событий

Название чек-бокса В логе Описание
Процедура очистки памяти системыMemoryUsingStartPeriodicMaintenanceВыставляется значение параметра GCSettings.LargeObjectHeapCompactionMode в GCLargeObjectHeapCompactionMode.CompactOnce.
Это приведет к сжатию кучи больших объектов (LOH во время следующей блокирующей сборки мусора второго поколения.
Докуметация: https://docs.microsoft.com/ru-ru/dotnet/api/system.runtime.gcsettings.largeobjectheapcompactionmode
РасписаниеFormRequestDistributionController.MigrateFormFromProjectTypesМиграция старых автозапросов форм в новый тип.
Рассылка запросов на отчеты о статусеDirectoryRequestService.MakeAutoRequestsСоздание запросов на создание отчетов исполнителям.
Рассылка уведомлений о сроках проектовProjectsService.CheckProjectsTimeРаcсылаются события:
1. Превышение планируемого срока завершения проекта. Возникает, когда текущая дата больше планируемой даты завершения.
2. Превышение планируемого срока начала проекта. Возникает, когда текущая дата больше планируемой даты начала.
3. Уведомление о приближающемся завершении проекта. Возникает, когда текущая дата больше порога уведомления.
Рассылка писемMailDistributor.SendMailРассылка писем, которые ранее не отправлялись.
Биллинг геймификацииGamingCharging.ScheduledChargeРассчет баланса и рейтинга в геймификации.
Автоматические запросы по формамFormRequestDistributionController.ProcessAutoRequestsФормирование автоматических запросов пользователям по формам по расписанию.
Перестроение кубов по расписаниюCubeDataManager.UpdateCubesBySchedule
Построение excel-отчетов по расписаниюCalculateExcelReportService.CalculateReportsBySchedule
Пересчет значений виджетовCalculateWidgetValuestService.CalculateWidgetValuesBySchedule
Обновление Google токенов на подписку каналовGoogleCalendarServiceManager.UpdateOutdatedSyncronizationChannels
Отправка запросов на выполнение задач по связи FS с задержкойQuestionsManager.RegisterProjectStartTaskWithDependencyDelay
Копирование не завершенных проектов из предыдущего периодаCheckTimeSheetProjectsКопирование в табель не завершенных проектов из предыдущего периода
Проверка соединений пользователей с ExchangeExchangeServiceProvider.CheckConnectionsПроверка соединений пользователей с Microsoft Exchange Server.
Сбор статистики активности пользователейCollectingUserActivityStatistics
Напоминание о просроченных запросахRemindExpiredQuestionsРассылка напоминаний о просроченных запросах по формам и согласованиям.
Расширение активностей таймера в отдельных решенияхScheduler.Execute

Как выгрузить лог ошибок

Лог ошибок доступен только в директории вашего сервера, где размещается система Advanta.

Местоположение лога определяется конфигурацией файла log4net.config. Как правило, это:

C:\SL_Files\Documents\logs\ErrorLog.txt 

Логи производительности

Вы можете получать лог производительности процессов системы.

По умолчанию лог не пишется! Все логи требуют ручной настройки и автоматически не собираются!

Как настроить

Чтобы лог начал собираться и записываться:

  1. Администрирование → Общие настройки → Общие настройки → Система сбора информации об ошибках
  2. В портлете «Система логирования производительности системных процессов» заполните поля:
    1. «Путь к логу производительности системных процессов» – путь к каталогу файловой системы на вашем сервере.
      Например: C:\Logs\
      • Создайте папку, где должен храниться лог, на веб-сервере.
        Если папки не существует, лог писаться не будет!
      • Проверьте, что у пользователя, из-под которого запущена Advanta на Microsoft Server есть доступ к этой папке (запись).
    2. поставьте чек-бокс «Включить логирование производительности системных процессов».
  3. если развернут Seq, можно настроить также логирование через него:
    1. вставьте ссылку на Seq на вашем сервере в поле «Url адрес системы обработки логов Seq»;
      Например: http://192.168.0.78:8888
    2. поставьте чек-бокс «Писать в логи производительности системных процессов в Seq»

Как выгрузить

Если у вас есть доступ к серверу, где хранятся документы для системы ADVANTA, вы можете скопировать их оттуда.
Файлы с логами лежат по тому адресу, который указан в поле Путь к логу производительности системных процессов (Администрирование → Общие настройки → Общие настройки → Система сбора информации об ошибках → Система логирования производительности системных процессов).

Если доступа к файлам на сервере нет, выгрузите логи через интерфейсе ADVANTA:

  1. Администрирование → Общие настройки → Общие настройки → Система сбора информации об ошибках
  2. «Выгрузить логи производительности системных процессов» → Выгрузить

Логи создания LINQ-контекста

Данная опция используется в целях отладки.

Чтобы включить логирование операций создания LINQ-контекста, необходимо сперва включить логи ошибок log4net, затем добавить настройку в файле client.config:
LinqToAdvantaLogGeneratedCode со значением 'true'

  <appSettings>
    ...
    <add key="LinqToAdvantaLogGeneratedCode" value="true" />
  </appSettings>
 

Запись сгенерированного при перестроении LINQ-контекста C#-кода будет осуществляться в общий лог ошибок log4net.

В записях лога такие сообщения начинаются со строки «Building LINQ-context ». Большинство записей статистического характера: отображают каких и сколько объектов обработано.

Запись, сообщение в которой начинается с «Building LINQ-context generatad C#-code» - содержит сгенерированный код. Это может быть огромная по размеру запись. Именно для неё введён параметр настройки LinqToAdvantaLogGeneratedCode в client.config.
Так как объём C#-кода при формировании LINQ-контекста может составлять несколько мегабайт, после использования и завершении отладки эту настройку следует выключить - установить в значение 'false'. Если LinqToAdvantaLogGeneratedCode имеет значение 'false' или отсутствует, то запись сгенерированного кода в лог не будет производиться.

По умолчанию значение этой опции в файле client.config установлено в значение 'false'.