1С:Предприятие 8
Система программ

Как выгрузить журнал регистрации в XML-формате?

07.06.2012

Для анализа событий, происходивших при работе прикладного решения (например, с использованием консоли анализа журнала регистрации), может потребоваться выгрузка журнала регистрации в формате XML. Для этого используется метод ВыгрузитьЖурналРегистрации().

Этот метод позволяет выгрузить журнал регистрации в XML формате. Существует возможность установить фильтр, задаваемый структурой специального формата, указывающий, какие записи журнала регистрации выгружать, а также указать колонки, которые необходимо выгружать. Если указано имя входного файла, то происходит выгрузка из указанного файла.

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

ВыгрузитьЖурналРегистрации("C:\log.xml");

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

  

В обработчике события формы ПриСозданииНаСервере заполним СписокПользователей имеющимися пользователями:

ВсеПользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого Пользователь Из ВсеПользователи Цикл
   НовыйЭлемент = СписокПользователей.Добавить();
   НовыйЭлемент.Пометка	      = Истина;
   НовыйЭлемент.Значение      = Пользователь;
   НовыйЭлемент.Представление = Пользователь.Имя;
КонецЦикла;

Затем, выполним обработку, и отметив нужных пользователей, нажатием кнопки Вывести журнал регистрации выгрузим только те записи журнала регистрации, которые относятся к выбранным пользователям:

Массив = Новый Массив;
Для Каждого Пользователь Из СписокПользователей Цикл
   Если Пользователь.Пометка Тогда
      Массив.Добавить(Пользователь);
   КонецЕсли;
КонецЦикла;
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("ПользовательИнформационнойБазы", Массив);
ВыгрузитьЖурналРегистрации("C:\eventlog.xml", СтруктураФильтра, "Дата, ИмяПользователя, ПредставлениеСобытия"); 

Скачать пример обработки (платформа 8.2.15.310).