Где лежит журнал регистрации 1С и чем прочитать его файлы
Содержание
Файл журнала регистрации 1С проще всего открыть через саму программу: в базе — Администрирование → Обслуживание → Журнал регистрации, в Конфигураторе — Администрирование → Журнал регистрации. Если нужен журнал чужой или неработающей базы, скопируйте её папку 1Cv8Log в пустую файловую базу
и откройте журнал уже там.
Блокнот здесь не поможет. Файлы журнала хранятся в служебном формате: в старом варианте это текст с кодами вместо имён, в новом — база SQLite. Ниже — где лежат эти файлы в файловом и клиент-серверном варианте, как их прочитать, выгрузить в XML и что делать, если журнал не открывается. Всё сказанное относится к платформе 1С:Предприятие 8.3 и не зависит от конфигурации.
Из чего состоит журнал регистрации 1С
Журнал регистрации — это протокол событий базы: входы и выходы пользователей, запись и удаление объектов, ошибки, обновления конфигурации. Платформа ведёт его сама. Конфигурация может дописывать туда свои события через ЗаписьЖурналаРегистрации().
Физически журнал — это папка 1Cv8Log. Внутри лежат файлы одного из двух форматов.
| Формат | Файлы | Что внутри |
|---|---|---|
| Последовательный (текстовый) | 1Cv8.lgf + набор *.lgp | .lgf — словарь: пользователи, компьютеры, метаданные с кодами. .lgp — сами события за период, имя файла — дата и время начала периода, например 20261001000000.lgp |
| SQLite | 1Cv8.lgd | Одна база данных SQLite со всеми событиями и справочниками |
В новых версиях платформы рядом с .lgp появляются ещё индексные файлы .lgx. Они ускоряют отбор при просмотре, отдельной ценности не несут.
Формат SQLite платформа использовала по умолчанию в ряде релизов 8.3 до 8.3.12. С 8.3.12 новые базы снова создаются с последовательным форматом. Поэтому в одной организации легко встретить обе схемы: старая база с 1Cv8.lgd и новая с .lgf/.lgp.
Если в .lgp открыть текстовым редактором, увидите строки вида {20261001093512,N,{...},3,1,2,...}. Цифры — это коды из 1Cv8.lgf. Без словаря событие не прочитать, поэтому .lgp всегда копируют вместе с .lgf.
Не путайте журнал регистрации с технологическим журналом. Технологический журнал включается файлом logcfg.xml, пишет файлы .log и нужен для разбора производительности и сбоев платформы. Здесь речь только о журнале регистрации.
Где искать файл журнала регистрации на диске
Место зависит от варианта работы базы.
Файловая база
Папка 1Cv8Log лежит прямо в каталоге базы, рядом с файлом 1Cv8.1CD.
- Откройте окно запуска 1С.
- Выделите базу в списке. Внизу окна показан путь, например
File="D:\Bases\Buh". - Откройте этот каталог в проводнике. Журнал — в
D:\Bases\Buh\1Cv8Log.
Клиент-серверная база
Журнал хранится на сервере 1С:Предприятия, в каталоге кластера:
- 🖥️ Windows (сервер установлен как служба):
C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log; - 🐧 Linux:
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log.
reg_1541 — папка кластера с портом менеджера 1541. Если кластер настроен на другой порт, номер в имени папки будет другим. Каталог srvinfo при установке тоже можно перенести на другой диск: проверьте параметр -d в свойствах службы агента сервера.
Главный вопрос — какой GUID у нужной базы. Внутри reg_1541 лежат папки с именами вида a1b2c3d4-..., и по ним не понять, какая база где. Два надёжных способа:
- Файл
1CV8Clst.lstв каталогеreg_1541. Это текстовый реестр кластера. Откройте его копию в блокноте и найдите имя базы: рядом будет её GUID. - Утилита
rac(нужен запущенный сервер администрированияras). Команда выведет список баз с их идентификаторами:
rac cluster list
rac infobase summary list --cluster=<id кластера>
В выводе поле infobase — это и есть GUID, name — имя базы, как в консоли кластера.
Каталог srvinfo принадлежит пользователю, от имени которого работает служба (обычно USR1CV8). Для чтения нужны права администратора сервера. Ничего не правьте и не удаляйте в srvinfo вручную: там же лежат настройки кластера и сеансовые данные.
Как открыть журнал регистрации в 1С:Предприятии
Если база запускается, это самый удобный вариант: события показываются с расшифровкой, работают отборы.
В режиме «Предприятие»
В типовых конфигурациях (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и других на БСП) путь одинаковый:
Администрирование → Обслуживание → Журнал регистрации
Если раздела «Обслуживание» нет или он скрыт, откройте журнал платформенной командой: главное меню (кнопка с тремя полосками) → Все функции → Стандартные → Журнал регистрации. Если пункта «Все функции» нет в меню, включите его: главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”».
В Конфигураторе
Администрирование → Журнал регистрации. Окно то же, что и в пользовательском режиме, но без надстроек БСП. Удобно, когда в режим «Предприятие» войти не получается: например, база не открывается из-за ошибки при старте.
Права на просмотр
Смотреть журнал может пользователь с правом «Журнал регистрации» в одной из ролей. В типовых конфигурациях оно есть у профиля «Администратор». Обычный бухгалтер журнал не откроет — это нормально.
Журнал большой базы может открываться минутами. Сразу задайте отбор по периоду: один-два дня вместо всей истории. Отбор по пользователю или по событию «Данные. Удаление» сокращает список ещё сильнее.
Как прочитать журнал другой или повреждённой базы
Типичный случай: прислали папку 1Cv8Log с сервера клиента, или база не запускается, а нужно понять, кто и что менял. Открыть файл журнала «из меню» в 1С нельзя, но есть надёжный обходной путь.
- Создайте новую пустую файловую базу: в окне запуска
Добавить → Создание новой информационной базы → без конфигурации. - Запустите её один раз и закройте. В каталоге появится своя папка
1Cv8Log. - Удалите эту пустую
1Cv8Logи положите на её место скопированную папку целиком, со всеми файлами. - Откройте базу в Конфигураторе:
Администрирование → Журнал регистрации.
События отобразятся с пользователями, компьютерами и датами. Имена объектов метаданных подтянутся из словаря журнала. Ссылки на конкретные документы пустая база расшифровать не сможет: вместо представления будет внутренний идентификатор. Если нужно видеть и документы, загрузите в пустую базу ту же конфигурацию, что у исходной.
Работайте только с копией папки журнала. Не открывайте файлы прямо в каталоге srvinfo работающего сервера: процессы 1С держат их открытыми, а случайная запись может испортить журнал.
Чем открыть файл .lgd без 1С
Файл 1Cv8.lgd — обычная база SQLite. Его открывает любой просмотрщик SQLite, например бесплатный DB Browser for SQLite. Внутри таблицы с событиями и справочники пользователей, компьютеров, метаданных. Время хранится во внутреннем формате, поэтому для разовых проверок такой путь неудобен, а для массовой аналитики — вполне.
Для .lgp готовых «просмотрщиков» нет. Существуют открытые парсеры, которые переносят журнал в SQL-базу или ClickHouse для анализа. Их используют, когда журнал нужно хранить и анализировать годами.
Как выгрузить журнал регистрации в XML
Когда нужно отдать журнал аудитору, программисту или в поддержку, удобнее выгрузить события в файл.
Вручную. В окне журнала регистрации есть команда выгрузки (в Конфигураторе и в платформенной форме она в меню «Ещё» или «Действия»). Платформа сохранит события с текущим отбором в XML-файл. Задайте отбор заранее: выгрузка за весь период большой базы получится на сотни мегабайт.
Программно. Метод глобального контекста ВыгрузитьЖурналРегистрации() пишет события в XML с отбором. Пример для внешней обработки, выполняемой на сервере:
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДатаСеанса()) - 86400);
Отбор.Вставить("ДатаОкончания", КонецДня(ТекущаяДатаСеанса()));
ВыгрузитьЖурналРегистрации("C:\Temp\journal.xml", Отбор);
Здесь выгружаются события за вчера и сегодня (86400 — число секунд в сутках). Путь указывается на том компьютере, где выполняется код: в клиент-серверной базе это диск сервера, и у пользователя службы должны быть права на запись в папку.
Если нужен не файл, а таблица для анализа в коде, используйте ПолучитьЖурналРегистрации(): метод заполняет таблицу значений, которую дальше можно сгруппировать или вывести в отчёт.
Настройка уровня и периода журнала регистрации
Журнал пишет не всё подряд. Что попадает в файлы, задаётся в Конфигураторе: Администрирование → Настройка журнала регистрации.
| Параметр | Что даёт |
|---|---|
| Уровень регистрации | От «Не регистрировать» до «Регистрировать все события». При уровне «ошибки» вы не увидите, кто удалил документ |
| Разделение по периодам | Новый файл .lgp за выбранный период. Чем мельче период, тем легче отдельные файлы и проще архивировать старые |
| Сокращение журнала | Удаляет события до указанной даты, при желании сохраняя их в отдельный файл |
В типовых конфигурациях часть этих настроек вынесена в пользовательский режим, в раздел администрирования. Принцип тот же.
Для расследований «кто удалил» и «кто изменил» ставьте уровень «Регистрировать все события». На файловой базе с 5–10 пользователями журнал растёт умеренно, но раз в квартал имеет смысл сократить его с сохранением старых событий в файл.
Перед расследованием сразу проверьте уровень. Частая ситуация: журнал «пустой», потому что после переноса базы кто-то выставил «Не регистрировать», и события просто не писались.
Администрирование → Обслуживание → Журнал регистрации и задайте отбор по периоду до открытия списка.1Cv8Log из каталога базы в пустую файловую базу и смотрите журнал через Конфигуратор.1CV8Clst.lst, скопируйте srvinfo\reg_1541\<GUID>\1Cv8Log и откройте копию в пустой файловой базе.ВыгрузитьЖурналРегистрации().Журнал не открывается или повреждён: что делать
Проблемы с журналом обычно сводятся к четырём ситуациям.
Журнал открывается очень долго
Причина — объём. Журнал за несколько лет в формате SQLite может весить десятки гигабайт.
- Откройте журнал с отбором за короткий период.
- Сократите журнал через настройку журнала регистрации, сохранив старые события в файл.
- Для последовательного формата включите разделение по периодам: тогда старые
.lgpможно убрать в архив.
Журнал пустой или в нём нет нужных событий
- 🔍 Проверьте уровень регистрации: возможно, события не писались.
- 📅 Проверьте отбор по периоду и по пользователю в окне журнала.
- 🗂️ Убедитесь, что смотрите журнал той базы: после копирования базы на сервере у копии новый GUID и своя папка.
- 🧹 Проверьте, не сокращали ли журнал: удалённые события в нём уже не появятся.
Ошибка при открытии журнала
Сообщение о повреждении файла или о неверном формате чаще всего означает испорченный 1Cv8.lgd или битый .lgp после аварийного выключения сервера или нехватки места на диске.
Для формата SQLite проверьте копию файла:
sqlite3 1Cv8.lgd "PRAGMA integrity_check;"
Ответ ok значит, что структура базы цела. Любой другой ответ — файл повреждён. Иногда SQLite-просмотрщик ещё вычитывает часть данных из такого файла.
Для последовательного формата повреждённым обычно оказывается последний .lgp. Уберите его из копии папки и откройте журнал снова: остальные периоды прочитаются.
Как запустить журнал заново
Если журнал повреждён и база из-за этого работает с ошибками, его можно начать с чистого листа:
- Завершите работу всех пользователей в базе.
- Переименуйте папку
1Cv8Log, например в1Cv8Log_old. - Запустите базу. Платформа создаст новую пустую папку журнала.
Старую папку сохраните: её можно читать по способу с пустой базой.
В клиент-серверной базе файлы журнала держит рабочий процесс сервера. Чтобы освободить их, иногда приходится перезапускать службу агента сервера 1С. При этом оборвутся сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени и предупредите людей заранее.
Тот же приём используют для смены формата. Если в пустую папку 1Cv8Log положить пустой файл 1Cv8.lgf, платформа начнёт вести журнал в последовательном формате. Старый 1Cv8.lgd останется в архивной копии для чтения.
Частые вопросы о файле журнала регистрации
Можно ли просто удалить папку 1Cv8Log, чтобы освободить место?
Попадают ли файлы журнала в выгрузку .dt?
.dt содержит конфигурацию и данные, но не журнал регистрации. Если журнал нужен, копируйте папку 1Cv8Log отдельно.