Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамСоглашения при написании ко…

1С:Предприятие 8.2 /
Разработчикам /
Соглашения при написании кода

Оглавление

Использование Журнала регистрации

1. Журнал регистрации предназначен для хранения событий, возникающих в процессе работы пользователей с информационной базой. При администрировании эту информацию часто необходимо анализировать в различных разрезах для того, чтобы например, узнать какие события происходили в определенный момент времени, какие действия выполнял тот или иной пользователь.

2. Рекомендуется производить запись в Журнал регистрации из встроенного языка в тех случаях, когда администратору необходимо сообщить дополнительную диагностическую информацию о событиях, которые не записываются платформой 1С:Предприятие. Такая необходимость может возникнуть как при выполнении бизнес-логики, вызываемой при интерактивной работе, так и в фоновых (регламентных) заданиях. Для удобства анализа Журнала регистрации одна его запись должна соответствовать одному событию, а сами записи должны содержать ряд обязательных атрибутов, в разрезе которых проводится анализ.

2.1. Строковый идентификатор типа события. Как правило, список типов событий в конфигурации может быть сколь угодно большим, поэтому типы событий рекомендуется группировать по функциональному признаку: «Название группы событий.Название события». Например, правильно записывать события с типами «Поручения.Уведомление о новых задачах» и «Поручения.Уведомление о зависших задачах» вместо двух «плоских» типов событий «Уведомление о новых задачах» и «Уведомление о зависших задачах». Текст типа события – локализуем, при этом всегда задается основной язык конфигурации.

2.2. Уровень важности события. Критичные события, требующие повышенного внимания администратора (ошибки бизнес-логики, сбои в программе, и т.п.), записываются в Журнал регистрации с уровнем важности «Ошибка». Потенциальные проблемы и не фатальные ошибки регистрируются как «Предупреждения». Для вывода информационных сообщений об успешном завершении той или иной операции используется уровень важности «Информация». Также возможно применять и более низкий уровень важности – «Примечание».

2.3. Комментарий. Содержит текстовую неструктурированную информацию о событии. В случае ошибок в этом поле содержится информация, необходимая для расследования причины проблемы. Не следует помещать в комментарий информацию сразу о нескольких событиях. Например, неправильно записывать одно событие с комментарием вида:

[01.01.2010 00:00:01] Начало инициализации обмена данными по настройке "Обмен данными выгрузка", номер строки настройки: 1
[01.01.2010 00:00:02] Окончание инициализации обмена данными (успешно)
[01.01.2010 00:00:03] Начало процесса обмена данными по настройке "Обмен данными выгрузка", номер строки настройки: 1
[01.01.2010 00:00:04] Начало записи изменений в файл обмена
[01.01.2010 00:00:05] Окончание записи изменений в файл обмена (успешно)
[01.01.2010 00:00:06] Окончание процесса обмена данными по настройке "Обмен данными выгрузка", номер строки настройки: 1
[01.01.2010 00:00:07] Выполнено, Выгрузка данных, Обработано 1 объектов

правильно записать столько событий, сколько их реально произошло.

Текст комментария – локализуем. Для записи в Журнал регистрации информации о возникшем исключении следует использовать конструкцию:

ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())

Пример регистрации дополнительных событий в функциональной подсистеме «Мой механизм»:

Попытка 
	ЗаписьЖурналаРегистрации(НСтр("ru = 'Мой механизм.Действие с возможной ошибкой'", КодОсновногоЯзыка), 
	УровеньЖурналаРегистрации.Информация, , ,
	НСтр("ru = 'Начато действие'"));
	ДействиеСВозможнойОшибкой(ОбъектДействия);
	ЗаписьЖурналаРегистрации(НСтр("ru = 'Мой механизм.Действие с возможной ошибкой'", КодОсновногоЯзыка), 
	УровеньЖурналаРегистрации.Информация, , ,
	НСтр("ru = 'Завершено действие'"); 
Исключение
	ЗаписьЖурналаРегистрации(НСтр("ru = 'Мой механизм.Действие с возможной ошибкой'", КодОсновногоЯзыка), 
	УровеньЖурналаРегистрации.Ошибка, , ,
	НСтр("ru = '"Во время выполнения действия произошла неизвестная ошибка.'") + Символы.ПС +
	ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки; 
 КонецПроцедуры 

где переменная КодОсновногоЯзыка содержит код основного языка конфигурации. Подробнее см. Требования по локализации конфигурации, п. 8.1.

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

Рекомендуется заводить отдельный регистр для протоколирования интересующих событий или обращаться к специализированным объектам платформы (например, МенеджерФоновыхЗаданий для выборки истории выполнения фоновых заданий).

Эту особенность нужно также учитывать при разработке отчетов по журналу регистрации.


Нас находят: 1с ЗаписьЖурналаРегистрации данные, Попытка ЗаписьЖурналаРегистрации, обработка ЗаписьЖурналаРегистрации, ЗаписьЖурналаРегистрации(НСтр(ru = Длительные операции Фоновое задание завершено аварийно ОбщегоНазначенияКлиентСервер КодОсновногоЯзыка()), записьжурналарегистрации 1с 8 2 дата и время, журнал регистрации содержит информацию о, журнал регистрации информации о происшествиях, ВызватьИсключение НСтр(ru = При обновлении правил обмена данными возникли ошибки (см Журнал регистрации) );, v8 ЗаписьЖурналаРегистрации из обработки, {ОбщийМодуль ОбменДаннымиСервер Модуль(633)}: При обновлении правил обмена данными возникли ошибки (см Журнал регистрации) ВызватьИсключение НСтр(ru = При обновлении правил обмена данными возникли ошибки (см Журнал регистрации) );


Подписка на новости RSS     Добавьте в закладки Google fusion     Мы в Google+    

 

Мы ВКонтакте

 

Мы на Facebook