Сделать запись в журнал регистрации 1с

Область применения: управляемое приложение, обычное приложение.

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 = ‘"Во время выполнения действия произошла неизвестная ошибка.’") + Символы.ПС +
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
КонецПроцедуры

где переменная КодОсновногоЯзыка содержит код языка для хранения данных в информационной базе. Подробнее см. Автогенерированные данные в информационной базе: требования по локализации, п. 1.

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

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

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

Журнал регистрации в 1С 8.3 очень полезен тем, что в нем отображаются события, произошедшие в информационной базе с указанием времени, имени компьютера и пользователя и ссылки на изменяемые данные. При аутентификации пользователей в журнале так же создаются записи с указанием способа входа в программу. Данный механизм позволяет ответить на один из частых вопросов – кто последний вносил изменения в конкретный объект.

Где найти журнал регистрации в 1С 8.3? Через меню «Все функции» — «Стандартные» или, в типовых конфигурациях 1C, в меню «Администрирование» — «Поддержка и обслуживание».

Настройка

Настройка журнала регистрации производится в режиме конфигуратора. В меню «Администрирование» выберите пункт «Настройка журнала регистрации».

Здесь настраиваются те события, которые будут отображаться в журнале регистрации.

Читайте также:  Сигнал рассогласования предполагает собой

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

При создании новой информационной базы по умолчанию устанавливается режим регистрации всех событий.

Просмотр и поиск записей

Когда вы откроете сам журнал регистрации, на первый взгляд может показаться, что та очень много информации и найти ее просто нереально. На самом деле это не так.

По умолчанию в журнал регистрации выводится по 200 записей. Отображение большого количества записей может негативно сказаться на работоспособности вашей программы или попросту она зависнет.

В форме списка журнала регистрации можно установить отбор и воспользоваться поиском. Поиск накладывается только на записи, которые уже отображаются (в данном случае последние 200 событий). Отбор же применяется ко всем записям.

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

Отбор позволяет отобрать данные по конкретным пользователям, именам компьютеров, событиям и т. п. Так же у вас есть возможность вывести записи журнала регистрации только по конкретным метаданным, данным (указывается ссылка на нужный объект, например, конкретный документ) и прочие настройки.

В данном примере приведены настройки журнала регистрации для отбора всех событий пользователя «Admin», начиная с 20.06.2017.

Где хранится файл журнала 1cv8.lgd

Место физического хранения журнала регистрации напрямую зависит от того, файловая база или клиент — серверная.

Файловая база

При данном режиме размещения, журнал регистрации находится в папке с самой базой. Место ее расположение можно узнать либо из списка баз, либо из справки «О программе».

Если перейти по данному адресу, вы найдете папку с именем «1Cv8Log». Именно тут расположены данные журнала регистрации в файле 1Cv8.lgd.

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

При удалении данного каталога, журнал регистрации очистится.

Клиент-серверная база

В таком режиме все так же, как и в предыдущем, только данные журнала регистрации 1С хранятся на сервере. Чаще всего его место расположения следующее:

  • C:Program Files1cv8srvinfo 1Cv8Log
Читайте также:  Сколько уникальных значений может принимать 1 байт

Оптимизация

Журнал регистрации при необходимости можно оптимизировать, особенно когда в базе происходит большое количество событий.

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

В более старых релизах платформы в настройках журнала регистрации было доступно разделение журнала регистрации по периодам. Весь журнал можно было разделить на отдельные файлы с указанной периодичностью (день, месяц, год и т. п.).

Начиная с версии платформы 1С 8.3.5.1068, журнал регистрации хранится в файле базы данных sqlite с расширением *.lgd, и данная настройка стала недоступна. Данный способ хранения журнала регистрации значительно производительнее, чем старый.

Как уменьшить или удалить журнал регистрации в 1С

В случае необходимости частичной, либо полной очистки записей журнала регистрации в окне настроек нажмите на кнопку «Сократить». В появившемся окне укажите дату, до которой все записи должны удалиться. Так же удаляемые записи можно сохранить в файл на всякий случай.

30 минут. Слишком долго. «Соль» в том, что стандартный журнал использует динамическое обновление формы, которое в условиях движка 1С прописано настолько криво, что волосы дыбом встают. Руководителем проекта было решено использовать программный метод выявления изменений. Что из этого получилось:
-Небольшой код дает преимущество во времени выполнения ( к примеру, формирование журнала по 6-и видам документов «первички» по фильтрам всех пользователей занимает примерно минуту)
-Выгрузка данных в формат XML занимает в пределах минуты(+- 20 секунд на каждую неделю)

-Чтение формата XML занимает примерно 7 минут(общий ‘вес’ XML

-Расшифровка(чтение XML по тегам, внесение в ТЗ и выделение подстрок) занимает

8 минут рабочего времени. И, как видим, слишком не хватает из моего родного С++.
Спасибо за внимание уважаемые Хабратья

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>