Logger – работа с логом
<< Click to Display Table of Contents >> Объектная модель > Основные механизмы Logger – работа с логом |
В Directum RX сообщения об ошибках, предупреждения и информационные сообщения, которые появляются во время работы, записываются в текстовые лог-файлы. Они ведутся в структурированном виде в формате JSON. Подробнее см. в разделах «Лог-файлы во время работы» и «Структура лог-файлов».
Для программной работы с лог-файлом предназначен класс Sungero.Core.Logger. При этом разработчик может логировать только уровни:
•Error – ошибки, которые прерывают выполняемую операцию, но на работоспособность приложения это не влияет;
•Debug – отладочные сообщения. Помогают разработчику восстановить ход работы по этапам конкретного процесса в продуктивной системе.
Методы
Имя |
Описание |
---|---|
Debug() |
Добавить отладочное сообщение в лог |
Добавить отладочное сообщение в лог по формату |
|
Error() |
Добавить сообщение об ошибке в лог |
ErrorFormat() |
Добавить сообщение об ошибке в лог по формату |
Добавить постфикс в логгер |
|
Логирование произвольного объекта |
|
Логирование произвольного свойства |
Примечание. Для ведения логов в структурированном формате используйте перегрузки методов Debug() или Error(), а также методы WithLogger(), WithObject(), WithProperty().
Пример 1. Добавить в лог отладочное сообщение
Logger.Debug("Не найден документ, для которого была получена подпись");
Пример 2. Добавить в лог сообщение об ошибке и текст исключения
try
{
throw new Exception("Open error");
}
catch (Exception ex)
{
Logger.Error(ex, "Не удалось подготовить данные для выгрузки");
}
Пример 3. Добавить в лог сообщение с параметрами
Logger.Debug("Объект с идентификатором {id} успешно сохранен", _obj.Id);
Рекомендации по логированию
Запрещается логировать конфиденциальные данные. Чаще всего это данные, которые вводит пользователь:
•имена документов и записей справочников, текст переписки в задачах, примечания у версий документа;
•информация о сотруднике, персоне или организации. Например, должность, отдел, телефон, образование.
Разрешается логировать:
•метаданные – любая информация о прикладной, предметной, системной разработке. Например, классы и их методы, метаданные справочников и документов. При этом серверный код доступен только в серверных логах;
•структуру базы данных. Доступно только в серверных логах;
•идентификаторы объектов. Например, идентификаторы объектов, над которыми выполняется операция;
•количество объектов в папках, списках, дочерних коллекциях, результатах запросов;
•общедоступную информацию о пользователе – логин, имя компьютера, выбранный язык;
•идентификатор клиентской сессии (ClientId), идентификатор выполняемого запроса (OperationId).
© Компания Directum, 2024 |