Логирование. log4net

Средний

Важно. Начиная с версии 7.17.2 log4net более не доступен в продукте, и для логирования необходимо использовать NLog.

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

В Creatio выполняется логирование всех основных операций. 

Для логирования используется решение log4net. Этот инструмент позволяет выполнять логирование параметров из разных архитектурных компонентов приложения в отдельные файлы логов.

Хранение логов 

Местоположение файлов логов зависит от значения системных переменных Windows.

[TEMP]\Creatio\Site_[{SiteId}]\[{ApplicationName}]\Log\[{DateTime.Today}]
C:\Windows\Temp\Creatio\Site_1\сreatio7121\Log\2018_05_22
[TEMP]\Creatio\Site_[{SiteId}]\[{ApplicationName}]\[ConfigurationNumber]\Log\[{DateTime.Today}]
C:\Windows\Temp\Creatio\Site_1\сreatio7121\0\Log\2018_05_22

Здесь в квадратных скобках указаны следующие переменные:

  • TEMP — базовый каталог. По умолчанию для IIS используется каталог C:\Windows\Temp, а для Visual Studio (IIS Express) — C:\Users\{Имя пользователя}\AppData\Local\Temp.
  • {SiteId} — номер сайта. Для IIS указан в расширенных настройках сайта. Для Visual Studio номер содержит значение 2.
  • {ApplicationName} — название приложения.
  • ConfigurationNumber — номер конфигурации. Конфигурация Default, как правило, имеет номер 0.
  • {DateTime.Today} — дата логирования.
scr_IIS_advanced.png

Уровни логирования 

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

Уровни логирования в порядке возрастания приоритета:

  • ALL — логирование всех событий. Существенно уменьшает производительность приложения.
  • DEBUG — логирование всех событий при отладке.
  • INFO — логирование ошибок, предупреждений и сообщений.
  • WARN — логирование ошибок и предупреждений.
  • ERROR — логирование всех ошибок.
  • FATAL — логирование только ошибок, приводящих к прекращению работы компонента, для которого ведется логирование.
  • OFF — логирование отключено.

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

Логирование ведется отдельно для загрузчика приложения и для конфигурации Default. Настройки логирования выполняются в конфигурационном файле ..\Terrasoft.WebApp\log4net.config.

Установить максимальный уровень логирования для всех компонентов 

Для этого необходимо в XML-элементе <root> файла ..\Terrasoft.WebApp\log4net.config указать уровень "ALL".

..\Terrasoft.WebApp\log4net.config
<root>
    <level value="ALL" />
    <appender-ref ref="commonAppender" />
</root>

При работе с SVN вести логирование только ошибок 

Для этого необходимо в XML-элементе <logger name="Svn"> файла ..\Terrasoft.WebApp\log4net.config указать уровень "ERROR".

..\Terrasoft.WebApp\log4net.config
<logger name="Svn" >
    <level value="ERROR" />
    <appender-ref ref="SvnAppender" />
</logger>