Очистка журнала регистрации 1с. Перенос журнала регистрации на другой диск

Если вы разрабатываете новую конфигурацию то обязательно должны включить журнал регистрации. Он позволит отслеживать все изменения в вносимые пользователями в 1С. Например вы сможет узнать кто что добавлял удалял или изменял.

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

Настройка журнала регистрации и просмотр истории изменений

И так для начала давайте настроим журнал регистрации в 1С. Настройки аналогичны как для версии 8.2 так и для 8.3. Запускаем Конфигуратор ищем пункт Администрирование и выбираем Настройка журнала регистрации.

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

Теперь для примера зайдем в 1С и создадим какой-нибудь новый документ или справочник можно просто внести изменения. Я создам новый документ.

Теперь для того что просмотреть изменения в журнале регистрации нужно зайти в конфигуратор открыть пункт меню Администрирование и выбрать Журнал регистрации.

Откроется Журнал регистрации в котором записываются все действия пользователей. Например, я создал новый документ. Давайте посмотрим, как мои действия записались в журнал регистрации. Мы видим таблицу, в которой есть поля Дата и время, Пользователь, Событие, Статус транзакции и метаданные. По ним мы видим, что я зашел в программу 13.11.17 под учётной записью Администратор. В колонке событие видно, что я добавил Данные. В колонке метаданные видно какой документ.

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

На сервере 1С со временем увеличивается в размерах папка
reg_1541 , содержащая журналы регистрации 1С. Расположена эта папка в директории С:\Program Files\1cv82\srvinfo. И как следствие может возникнуть проблема свободного пространства на системном жестком диске. Чтобы избежать роста папки srvinfo необходимо периодически очищать журнал регистрации 1С.

Удаление неиспользуемых журналов регистрации из папки Srvinfo

В журнале регистрации фиксируется все изменения объектов баз 1С — документы, справочники, регистры и т.д.

Для каждой базы данных 1С существует своя директория хранения журнала регистрации и выглядит она таким образом:

C:\Program Files\1cv8\srvinfo\\\1Cv8Log

Папка <Имя кластера сервера> по-умолчанию называется reg_1541.

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

Вычислить эти папки можно открыв файл , который находится так же в reg_1541.

Копируем <Идентификатор базы на сервере> из папки Srvinfo и ищем в файле 1CV8Clst.lst. Если идентификатор в файле не найден, то папку можно удалять.


В директории Srvinfo находится папка с названием вида snccntx+<Идентификатор базы на сервере> . Эта папка содержит сеансовые данные и ее лучше не удалять без необходимости т.к. много места она не занимает.

Настройка и очистка журнала регистрации 1С

Запускаем 1С в режиме конфигуратора и переходим в меню «Администрирование/Настройка журнала регистрации»

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

Ошибки — информация о сбоях
Предупреждения — важные уведомления, не ошибки
Информация — все изменения базы данных
Примечания — все остальные уведомления

Для очистки журнала регистрации нажимаем кнопку «Сократить»

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

В поле «Удалить события до:» выбираем дату до который будем очищать журнал регистрации.

Автоматизация процесса очистки журнала регистрации

Автоматизация процесса через командную строку Windows выглядит таким образом:

"\1cv8.exe" CONFIG /Out /ReduceEventLogSize -saveAs

— строка подключения к информационной базе. Т.к. речь идёт о серверном варианте, эта строка будет иметь вид «/S /N /P». Пользователь должен иметь право администрирования.

— путь к файлу, в котором будут сохранены сообщения системы при выполнении этой операции.

— дата, по которую будет укорочен журнал регистрации в формате yyyy-mm-dd

— путь к файлу в формате *.elf, к которым можно будет обратиться в случае необходимости проводить расследования давних операций с информационной базой.

Операцию необходимо выполнять когда нет активных подключений к базе 1С.

Образец скрипта для PowerShell

# # backup & shrink 1c logs # param ($1cexe = "C:\Program Files (x86)\1cv82\8.2.15.319\bin\1cv8.exe", $1cbase = "srvrname\ibname", $1cuser = "username", $1cupassword = "password", $1coperlog = "s:\logs\1cshrink.txt", $1cdaysoflogstore = 7, #[дата по которую удалить логи] (get-date).Date.AddDays(-$1cdaysoflogstore).ToString("yyyyMMdd") $1clogsarchive = "s:\backup\6months\", #[путь к сохраняемому в другом месте файлу логов *.elf] $1clogfilename = $env:COMPUTERNAME.ToLower() + "-1clog-" + ($1cbase.split("\")) + "-" + (get-date).Date.ToString("yyyyMMdd") + ".elf") $1clog = $1clogsarchive + $1clogfilename cmd /c "`"`"$1cexe`" CONFIG `/s$1cbase `/N`"$1cuser`" `/P`"$1cupassword`" `/Out$1coperlog `/ReduceEventLogSize $((get-date).Date.AddDays(-$1cdaysoflogstore).ToString("yyyy-MM-dd")) -saveAs`"$1clog`"`""

Внимание! Данные для подключения к базе 1С обезличены. Необходимо заменить на свои.

Перенос журнала регистрации на другой диск

Чтобы избежать переполнения системного диска файлами журнала регистрации 1С папку SRVINFO можно перенести на другой диск. Выполнить это можно изменив параметры запуска службы «Агент сервера 1С:Предприятия 8.3» в реестре Windows.

В редакторе реестра переходим по ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.2 Server Agent и в параметре ImagePath изменяем значение «Агент сервера 1С:Предприятия 8.3» «C:\Program Files (x86)\1cv8\8.3.10.2667\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files (x86)\1cv8\srvinfo».
Вместо «C:\Program Files (x86)\1cv8\srvinfo» указываем новую директорию нахождения журнала регистрации.

редактирование запуска службы «Агент сервера 1С:Предприятия 8.3» в реестре Windows

В статье использован

Журнал регистрации — вещь нужная и полезная, но, нередко очень и очень медленная.

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

В старых версиях файл журнала регистрации имеет расширение «lgp» и найти его можно тут:

Начиная с версии 8.3.5.1068 файл журнала регистрации имеет расширение «lgd» и находится все там же:


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


На рисунке выше, красным подчеркнут UID базы, если баз много то узнать UID нужной базы можно заглянув в этот файл:


Кроме этого была добавлена пара новых функций и изменен формат времени (теперь время хранится в UTC).

Посмотрим, какие инструменты имеются в 1С для работы с журналом регистрации.

Функции

Все функции принадлежат к глобальному контексту и их подробное описание содержится в соответствующем разделе справки.

ЗаписьЖурналаРегистрации — позволяет добавить запись в журнал регистрации.

ПолучитьИспользованиеЖурналаРегистрации — возвращает массив уровней журнала регистрации для которых осуществляется запись событий, настроить уровни журнала регистрации можно в меню «Администрирование»->»Настройка журнала регистрации…» или воспользоваться следующей функцией.

УстановитьИспользованиеЖурналаРегистрации — позволяет программно установить уровни журнала регистрации, функция требует монопольного доступа и административных прав.

ПредставлениеСобытийЖурналаРегистрации — возвращает локализованное название события.

ВыгрузитьЖурналРегистрации — позволяет выгрузить содержимое журнала регистрации в XML файл или в таблицу значений, существует возможность указать файл журнала регистрации из которого будет произведена выгрузка.

ПолучитьЗначенияОтбораЖурналаРегистрации — позволяет получить возможные значения параметров отбора журнала регистрации, что пригодиться для формирования фильтра при использовании функции выше.

УстановитьИспользованиеСобытияЖурналаРегистрации — позволяет управлять регистрацией событий в журнале регистрации, требует административных прав.

ПолучитьИспользованиеСобытияЖурналаРегистрации — получает текущее состояние управления регистрацией указанного события, требует административных прав.

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

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

Данные

Как уже говорилось выше, данные из журнала регистрации можно получить при помощи функции «ВыгрузитьЖурналРегистрации».

Кроме этого для журналов регистрации нового вида (.lgd) можно использовать другой способ — внешний источник данных.

Для того, что бы использовать файл журнала регистрации в качестве внешнего источника данных, потребуется установить ODBC драйвер для SQLite, скачать его можно (выбор между 32-х и 64-х битыми версиями зависит не от версии ОС, а от версии 1С).

После установки драйвера добавляем в конфигураторе новый внешний источник данных, а затем добавляем таблицы, строка соединения выглядит пример так: «DRIVER=SQLite3 ODBC Driver;Database=D:\1Cv8.lgd;BigInt=1;»

Затем можно будет выбрать интересующие Вас таблицы (основная таблица называется «EventLog», но для полноты информации потребуются все таблицы).


После выполнения всех операций получится следующее:

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

На этом все, надеюсь эта статья Вам помогла.

Зачем нужен журнал регистрации в 1С ?

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

Вот более подробный и понятный список:

· Попытки входа и выхода из информационной базы;

· Ошибки аутентификации;

· Ошибки в сервисах и программном коде;

· Технические ошибки;

· Выполнение фоновых заданий;

· Создание документов и справочников;

· Удаление документов и элементов справочников;

· Проведение и отмена проведения документов:

Можно, например, отследить, кто и когда внес изменения в тот или иной документ в 1С.

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

Помимо этого в журнал регистрации попадают данные по успешной или неуспешной аутентификации в информационной базе 1С.

Вы видите, кто пытался «влезть» в 1С подобрать пароль, или кто уже выполнил аутентификацию.

Часто только благодаря «Журналу регистрации» можно установить истинную причину возникших изменений в конфигурации.

Как использовать журнал регистрации в 1С?

Журнал регистрации доступен как в режиме 1С:Предприятие, так и в режиме Конфигуратор.

В режиме 1С Предприятия можно кликнуть по ссылке (вкладке у кого как) «Администрирование»

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

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

В режиме конфигуратор, нужно найти вкладку «Администрирование» и «Журнал регистрации» с характерной иконкой будет перед Вами.

Все те же отборы что и при запуске в режиме 1С Предприятие.

Как настроить журнал регистрации в 1С Предприятии?

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

Например, чтоб получить какую-то информацию по пользователю уже нужно ждать не секунды, а минуты.

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

И последний третий минус это размер лог файла.

Он запросто может достигать несколько гигабайт, что в файловом варианте будет особо ощутимо.

(Производительность может упасть, но об этом мы поговорим чуть позже).

И так настройка

В режиме «Конфигуратор» запускаем 1С Предприятие находим вкладку «Администрирование» и затем «Настройка журнала регистрации…»

Нам будет доступно несколько режимов:

  • «Не регистрировать».
  • «Регистрировать ошибки».
  • «Регистрировать ошибки, предупреждения».
  • «Регистрировать ошибки, предупреждения, информацию».
  • «Регистрировать ошибки, предупреждения, информацию, примечания».


Чтоб полностью отключить журнал регистрации , ставим птичку возле «Не регистрировать».

Что в некоторых случаях может даже положительно сказаться на производительности, так как мы освобождаем 1С от необходимости постоянно делать записи в журнал. (На больших базах и количествах пользователей это ощутимо).

Многие администраторы оставляют только «Регистрировать ошибки, предупреждения».

Что может быть вполне достаточно.

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

Где хранится журнал регистрации 1С?

Иногда требуется физически получить доступ к файлам журнала регистрации, и найти их можно в таких местах:

Файловый вариант:

В файловом варианте работы открыв расположение информационной базы на диске Вы найдете папку 1Cv8Log.

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

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

Клиент-серверный вариант:

В клиент-серверном варианте файлы журнала регистрации хранятся на сервере в каталоге: C:\Program Files\1cv8\srvinfo\<Имя кластера сервера>\<Идентификатор базы на сервере>\1Cv8Log

И как и в файловом варианте, копирование, перенос и удаление требует аналогичных действий.

Оптимизация журнала регистрации

Если Вы используете платформу 1С версии с 8.3.5.1068, и старше тогда Вам доступна еще одна настройка журнала, позволяющая его оптимизировать.

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

Вот собственно что пишет об этом фирма 1С:

«Как мы улучшили журнал регистрации

Мы значительно переработали журнал регистрации для того, чтобы увеличить скорость выполнения запросов к журналу и повысить надёжность хранения данных.

Для этого, в том числе, потребовалось изменить формат хранения журнала регистрации. Теперь он хранится в одном файле базы данных SQLite. Этот файл имеет расширение lgd.

Наши тесты показывают, что практически по всем условиям отбора выборка данных ускорилась. При некоторых условиях выборка ускорилась существенно. Например, в случае отбора по пользователю, разделителям и по данным, представленным одним значением. Что касается записи, то скорость однопоточной записи тоже немного ускорилась. А вот скорость многопоточной записи возросла почти в полтора раза. Как в файловом варианте, так и в клиент-серверном.

Создавая новую реализацию журнала, мы стремились учесть пожелания по архивированию журнала и сокращению его размера. Теперь во встроенном языке есть два метода, которые позволяют копировать данные журнала регистрации или удалять их, используя условия фильтрации. Это методы СкопироватьЖурналРегистрации() и ОчиститьЖурналРегистрации(). С их помощью архивирование или очистку журнала можно выполнять автоматически, регламентными заданиями, в период наименьшей загрузки системы.

Также мы ввели в журнале ещё одно изменение. Время событий хранится теперь в формате всемирного координированного времени (UTC). Это позволят избежать проблем, связанных с работой в разных часовых поясах.»

Для перехода на новый формат достаточно сконвертировать журнал с помощью нажатия кнопки «Новый Формат»

Думаю, здесь также стоит написать о нюансах, а они, к сожалению есть.

1 Обратная конвертация в старый формат невозможна! (будьте внимательны, прежде чем кликать по кнопке «Новый формат», сделайте копию журнала).

2. На практике журнал регистрации даже на этой СУБД иногда все же «разваливается» , делайте бэкапы логов если информация Вам действительно важна!

Но можно пойти и другим, путем, которым идут многие разработчики. Есть возможность записывать логи в «Регистр сведений», что исключит проблемы испорченных логов!

(Посоветуйтесь с вашем разработчиком, решение есть всегда).

3. Нет кнопки «Новый формат».

Если Вы впервые запустили на новой платформе (8.3.5.1068 и выше) конфигурацию которая была создана на более старой платформе, кнопка «Новый формат» будет существовать только до клика по ней! (После чего произойдет конвертация и кнопка исчезнет).

Если вы создали новую конфигурацию на платформе 8.3.5.1068 и выше (или загрузили из *dt) кнопки «Новый формат» не будет, так как лог уже будет создан в файле SQLite.

Разделение хранения журнала по периодам.

Можно изменить настройку «Разделять хранение журнала по периодам» на другие значения!

ВНИМАНИЕ! (Здесь нужна старая версия платформы до 8.3.5.1068)!

Например, для малых баз можно поставить «Месяц».

Для больших или средних баз можно выбрать «Неделя».

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

Что это нам дает?

Файлы логов будут разбиваться в папке 1Cv8Log на куски, заданные в настройке, и будут иметь вид, подобный 20170503000000.lgp, в котором будет видно и дату и время создания лога, что есть очень удобно.

Другими словами пишем «обработку,» в которой мы выбираем нужный файлик *lgp (За День, Месяц, Неделя) и тут же очень быстро получаем все что нам нужно видеть за этот период.

Так скорость будет в разы выше, чем тащить данные из полного журнала регистрации!

Укажем дату, данные, до которой будут удалены.

И ОБЯЗАТЕЛЬНО! Ставим птичку возле «Записать удаляемые события в файл».

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

Ну что ж на этом все, надеюсь, статья внесет некоторую ясность в такие вопросы как: Для чего нужен журнал регистрации, как его использовать, настроить, и оптимизировать во всяком случаи на сегодняшнее время.