Для проверки корректности работы новой функциональности мы рекомендуем включить логирование. Чтобы избежать ухудшения производительности, рекомендуется включать логирование только при тестировании и отладке приложения. В Creatio выполняется логирование всех основных операций. Для этого используется NLog — бесплатная библиотека логирования для .NET, которая позволяет маршрутизировать и управлять логами приложения, независимо от его размера или сложности.
Библиотека позволяет выполнять следующие действия:
- Обрабатывать диагностические сообщения, которые отправляются с любого языка .NET.
- Дополнять логи контекстной информацией.
- Форматировать логи в соответствии с предпочтениями пользователя.
- Отправлять логи одному или нескольким получателям сообщений, таким как файл или база данных.
Документация по работе с библиотекой NLog доступна на сайте GitHub.
Настроить логирование для on-site приложений
Логирование отдельно выполняется для загрузчика приложения и для конфигурации Default.
Способы настройки логирования для on-site приложений:
- через конфигурационный файл;
- через конфигурационный объект LoggingConfiguration.
Пример настройки логирования содержится в статье Реализовать модальное окно.
Настроить логирование для on-site приложений через конфигурационный файл
- Задать путь к файлу с настройками логирования.
- Задать получателей логирования.
- Задать правила логирования.
1. Задать путь к файлу с настройками логирования
Файлы каталога ..\Terrasoft.WebApp, в которых настраивается логирование:
- nlog.config.
- nlog.targets.config.
- nlog.cloud.config (для cloud приложений).
- nlog.cloud.settings.config (для cloud приложений).
Задайте путь к файлу nlog.config в конфигурационном файле ..\Terrasoft.WebApp\Web.config.
2. Задать получателей логирования
Получатели логирования используются для отображения, хранения или передачи сообщений лога другому получателю.
Виды получателей логирования:
- Получатели, которые получают и обрабатывают сообщения.
- Получатели, которые буферизируют или направляют сообщения другому получателю.
Задайте получателей логирования в XML-элементе <target> файла ...\Terrasoft.WebApp\nlog.targets.config.
Атрибуты для настройки получателей логирования:
- name — имя получателя.
- xsi:type — тип получателя. Может принимать значения "File", "Database", "Mail".
-
fileName — файл и путь к файлу для хранения логов. Местоположение файлов логов зависит от значения системных переменных Windows.
- [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] — дата логирования.
- layout — шаблон заполнения файла с логами.
Получатели логирования подробно описаны в документации NLog.
3. Задать правила логирования
Задайте правила логирования в файле nlog.config.
Атрибуты для настройки правил логирования:
- name — имя лога.
-
minlevel — минимальный уровень логирования. По умолчанию уровень логирования для всех компонентов Creatio установлен таким образом, чтобы обеспечить максимальную производительность приложения.
Возможные уровни логирования в порядке возрастания приоритета:
- Trace — логирование событий при отладке трассировки (указываются начальный и конечный методы).
- Debug — логирование всех событий при отладке.
- Info — нормальная работа приложения.
- Warn — логирование предупреждений (приложение будет продолжать работу).
- Error — логирование ошибок (возможно прекращение работы приложения).
- Fatal — логирование ошибок, приводящих к прекращению работы приложения.
- Off — логирование отключено, не используется для записей.
- maxlevel — максимальный уровень логирования.
- level — логирование событий одного уровня логирования.
- levels — логирование событий нескольких уровней логирования (указываются через запятую).
- writeTo — имя получателя логирования.
- final — после совпадения окончательного правила правила не обрабатываются.
- enabled — отключить правило (установить значение false), не удаляя его.
- ruleName — идентификатор правила.
Порядок обработки атрибутов правил логирования:
- level.
- levels.
- minlevel и maxlevel.
Если minLevel = "Warn" level = "Info", то используется только уровень логирования Info, поскольку приоритет обработки атрибута level выше, чем minLevel.
Настроить логирование для on-site приложений через конфигурационный объект LoggingConfiguration
- Создайте объект LoggingConfiguration, который описывает конфигурацию.
- Создайте получателей логирования.
- Установите свойства получателей.
- Определите правила логирования с использованием объектов LoggingRule.
- Добавьте правила логирования в конфигурационные объекты LoggingRules.
- Активируйте конфигурацию. Для этого укажите созданный объект конфигурации в LogManager.Configuration.
Настроить логирование для cloud приложений
Чтобы настроить логирование для cloud приложений, обратитесь в службу технической поддержки Creatio.