Содержание

Логи Системы


Типы логов

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

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

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

C:\Logs\
http://192.168.0.78:8888

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

Обычно необходимость в логировании появляется из-за возникновения дефекта, который нужно зафиксировать и передать в службу поддержки 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. Перезапустите пул приложения Системы, после перезапуска выполните несколько действий в Системе и проверьте что в файлах лого начали появляться записи.

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

  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. В портлете «Система логирования производительности системных процессов» заполните поля:

3. Если развернут 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'.