1С 8.3 Запись лога
Данные > Примеры кода 1С > 1С 8.3 Журнал регистрации
Перейти в раздел примеры кода 1С 8.3:
Задача: после установки доработок в рабочей базе в регистре сведений появляются множественные записи. На копии не воспроизводится, продуктив отладкой останавливать нельзя. Как узнать что делает записи, откуда происходит вызов и какой код при этом выполняется?
Решение: универсальное расширение с одним методом, вызываемым ПриЗаписи набора записей регистра. Метод генерирует ошибку, описание ошибки возвращает полный стек вызовов, а встроенная XML-сериализация возвращает настройки отбора и записываемый набор записей. Фиксируем лог в журнал регистрации. Полученные записи можно отобрать по комментарию или сохранить в Excel, настроить отборы и проанализировать.
Пример кода: paste1C
Идею можно развивать: добавить константу для включения логирования, убрать из стека лишние строки, вывести представления полей (сериализация выводит идентификаторы), записать лог в свой регистр сведений и т.д.
Лог в журнал регистрации (программно) в 1С 8.3:
Процедура ЗаписьЛогаПередЗаписьюРС(Источник) Экспорт
Попытка
ВызватьИсключение "Стек вызовов:";
Исключение
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписатьXML(ЗаписьXML, Источник);
ЗаписьЖурналаРегистрации("РантаймЛог." + Источник.Метаданные().Имя,
УровеньЖурналаРегистрации.Информация, Источник.Метаданные(), Источник,
Строка(Пользователи.ТекущийПользователь()) + Символы.ПС + Символы.ПС +
ЗаписьXML.Закрыть() + Символы.ПС + Символы.ПС +
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецПроцедуры
Попытка
ВызватьИсключение "Стек вызовов:";
Исключение
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписатьXML(ЗаписьXML, Источник);
ЗаписьЖурналаРегистрации("РантаймЛог." + Источник.Метаданные().Имя,
УровеньЖурналаРегистрации.Информация, Источник.Метаданные(), Источник,
Строка(Пользователи.ТекущийПользователь()) + Символы.ПС + Символы.ПС +
ЗаписьXML.Закрыть() + Символы.ПС + Символы.ПС +
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник