Файлы журнала регистрации 1С: путь на сервере, форматы и разбор

· 9 мин

Содержание

Журнал регистрации 1С всегда хранится в папке 1Cv8Log. В файловой базе она лежит прямо в каталоге базы, рядом с 1Cv8.1CD. В клиент-серверной — на сервере 1С, в каталоге srvinfo\reg_1541\<GUID базы>\1Cv8Log. Внутри либо один файл 1Cv8.lgd (формат SQLite), либо пара 1Cv8.lgf + файлы *.lgp (последовательный формат).

Читать журнал удобнее всего из самой программы. Но когда база не запускается, журнал разросся до десятков гигабайт или нужно выгрузить события за год для разбора инцидента, приходится идти к файлам напрямую. Тогда важно знать точный путь на Windows и Linux, уметь найти свою базу среди GUID-папок кластера и не повредить файлы при чтении.

Как устроено хранение журнала регистрации 1С

Журнал регистрации — это журнал событий прикладного уровня: входы и выходы пользователей, запись и удаление объектов, ошибки, фоновые задания, изменения конфигурации. Его ведёт платформа 1С:Предприятие 8.3 для каждой информационной базы отдельно.

Технологический журнал — другое. Он настраивается файлом logcfg.xml, пишет события платформы (вызовы СУБД, исключения, блокировки) и лежит в каталоге, который вы сами указали в настройке. Если ищете причину «зависаний» и ожиданий на блокировках — вам туда, а не в журнал регистрации.

Платформа умеет хранить журнал регистрации в двух форматах:

ФорматФайлы в 1Cv8LogОсобенности
SQLite1Cv8.lgd (и файлы периодов, если включено разделение)Один файл-база данных, читается любым SQLite-клиентом
Последовательный (текстовый)1Cv8.lgf — словарь, ГГГГММДДччммсс.lgp — событияПишется быстрее, файлы событий текстовые, имя файла содержит дату начала периода

Формат зависит от того, на какой версии платформы и с какими настройками база создавалась. Определить его просто: откройте 1Cv8Log и посмотрите расширения файлов.

💡 Если в папке есть и .lgd, и .lgp — скорее всего, формат когда-то меняли. Актуальный тот, у которого свежая дата изменения.

Где лежит журнал регистрации в файловой базе 1С

Здесь всё прямолинейно. Каталог базы — это папка, в которой лежит 1Cv8.1CD. Журнал — в её подпапке:

D:\Bases\Buh_OOO_Romashka\1Cv8.1CD
D:\Bases\Buh_OOO_Romashka\1Cv8Log\1Cv8.lgd

Как узнать каталог базы, если он неизвестен:

  1. В окне запуска 1С выделите базу и посмотрите строку под списком — там показан путь File="D:\Bases\...".
  2. Или нажмите Изменить — на втором шаге мастера виден каталог информационной базы.
  3. Если база открыта, откройте Справка → О программе: в окне указана строка соединения с каталогом.

Если база лежит в сетевой папке, журнал тоже там — на файловом сервере, а не на компьютере пользователя. Права на запись в 1Cv8Log нужны каждому, кто работает в базе: без них платформа не сможет добавлять события.

Не удаляйте папку 1Cv8Log при работающих пользователях. Платформа держит файлы открытыми, а при удалении вы потеряете историю, которую уже не восстановить без резервной копии.

Журнал регистрации 1С на сервере: путь к каталогу базы

В клиент-серверном варианте журнал ведёт сервер 1С, и лежит он в каталоге данных кластера. Путь собирается из трёх частей:

<каталог srvinfo>\reg_<порт менеджера кластера>\<GUID базы>\1Cv8Log\

Порт менеджера кластера по умолчанию — 1541, поэтому папка обычно называется reg_1541. Если кластер поднят на другом порту, номер в имени будет другим.

Где каталог srvinfo на Windows

Каталог задаётся параметром -d при запуске службы агента сервера. Чтобы увидеть его:

  1. Откройте services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3».
  2. В свойствах службы посмотрите поле «Исполняемый файл».
  3. В строке вида ragent.exe -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" путь после -d и есть нужный каталог.

Частые варианты: C:\Program Files\1cv8\srvinfo или каталог в профиле пользователя, от имени которого работает служба. На нагруженных серверах srvinfo часто выносят на отдельный диск — поэтому смотрите параметр службы, а не угадывайте.

Где каталог на Linux

По умолчанию данные кластера лежат в домашнем каталоге пользователя usr1cv8:

ls /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/

Если при запуске ragent задан свой каталог через -d, ищите его в параметрах юнита systemd или скрипта запуска:

ps aux | grep ragent

Как найти GUID нужной базы

В reg_1541 десятки папок с именами вида a3f1c2e4-.... Каждая — отдельная информационная база кластера. Сопоставить GUID и имя можно тремя способами:

  • 📄 Файл 1CV8Clst.lst в той же папке reg_1541. Это текстовый реестр кластера: откройте копию файла в редакторе и найдите имя базы — рядом будет её GUID.
  • 🖥️ Утилита rac (нужен запущенный ras):
rac cluster list
rac infobase summary list --cluster=<UUID кластера>

Вторая команда выводит для каждой базы infobase (это и есть GUID папки) и name.

  • 🔎 Консоль администрирования серверов 1С: откройте свойства информационной базы. Имя базы видно сразу, а GUID удобнее брать из rac или 1CV8Clst.lst.

Файл 1CV8Clst.lst — рабочий реестр кластера. Открывайте только его копию и ничего в нём не правьте: испорченный реестр выводит из строя все базы кластера.

Кто может прочитать файлы

Папки в srvinfo принадлежат пользователю службы (на Windows — обычно USR1CV8, на Linux — usr1cv8). Обычному доменному пользователю доступ туда не нужен. Для разбора файлов админу достаточно права на чтение; копируйте файлы к себе, а не открывайте их на месте.

Чем открыть файлы журнала регистрации: штатные способы и консоль

Из самой 1С

Это основной и самый надёжный путь — платформа сама разбирает оба формата.

  • В Конфигураторе: Администрирование → Журнал регистрации.
  • В пользовательском режиме БП 3.0, ЗУП 3.1, УТ 11: Администрирование → Обслуживание → Журнал регистрации.
  • В любой конфигурации: Все функции → Стандартные → Журнал регистрации (команду «Все функции» включают в параметрах программы).

В клиент-серверной базе журнал всё равно открывается с сервера: клиенту не нужен доступ к srvinfo, данные отдаёт рабочий процесс. Отбор ставьте сразу — по периоду, пользователю и событию. Без отбора журнал за год может открываться минутами.

Через sqlite3 (формат .lgd)

Файл .lgd — обычная база SQLite. Скопируйте его в отдельную папку и откройте консольным клиентом sqlite3:

cp /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID>/1Cv8Log/1Cv8.lgd /tmp/el/
sqlite3 /tmp/el/1Cv8.lgd

Сначала посмотрите структуру — набор таблиц может отличаться между версиями платформы:

.tables
.schema EventLog

Основные события лежат в таблице EventLog, а пользователи, компьютеры, приложения и события вынесены в справочные таблицы с кодами (UserCodes, ComputerCodes, EventCodes и подобные). Чтобы получить читаемый результат, соединяйте их по кодам.

Дата в EventLog хранится числом — в десятитысячных долях секунды от 01.01.0001. Перевод в обычное время:

SELECT datetime(date / 10000 - 62135596800, 'unixepoch') AS dt, *
FROM EventLog
ORDER BY date DESC
LIMIT 20;

💡 Проверьте пересчёт на одной записи: найдите то же событие в журнале через 1С и сравните время. Если расходится на несколько часов — это часовой пояс, unixepoch даёт UTC-время без сдвига.

Последовательный формат (.lgf + .lgp)

Файлы .lgp текстовые, их можно открыть редактором или искать по ним grep/findstr. Но в событиях вместо имён стоят числовые коды, а расшифровка лежит в 1Cv8.lgf. Вручную сопоставлять неудобно, поэтому для разбора таких файлов используют либо саму 1С, либо выгрузку.

Выгрузка в XML

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

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

Что и как подробно писать, задаётся в Конфигураторе: Администрирование → Настройка журнала регистрации.

Уровни регистрации:

УровеньЧто попадает в журнал
Не регистрироватьНичего. Использовать не стоит: при инциденте вы останетесь без данных
ОшибкиТолько ошибки
Ошибки и предупрежденияПлюс предупреждения
Ошибки, предупреждения и информацияПлюс информационные события
Все событияВключая примечания: самый подробный и самый объёмный вариант

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

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

Без разделения по периодам журнал растёт одним файлом бесконечно, и очистить его частично можно только командой «Сократить».

Очистка и архивация журналов регистрации 1С

Штатное сокращение

В том же окне Настройка журнала регистрации есть кнопка Сократить. В диалоге указываете дату: события раньше неё удаляются. Удаляемые события можно сохранить в отдельный файл — это и есть архив, который потом открывается в 1С.

Порядок:

  1. Сделайте копию папки 1Cv8Log — на случай, если выбрали не ту дату.
  2. Откройте Конфигуратор, Администрирование → Настройка журнала регистрации → Сократить.
  3. Укажите дату и включите сохранение удалённых событий в файл.
  4. Дождитесь завершения. На журнале в десятки гигабайт операция может идти долго — запускайте её вне рабочего времени.

Архивация файлов периодов

Если включено разделение по периодам, архивировать можно на уровне файлов:

  • 📦 закрытые периоды (файлы за прошлые месяцы) переносите в архив — сжатие текстовых .lgp в zip даёт многократную экономию места;
  • 📌 текущий файл, в который идёт запись, не трогайте;
  • 🗂️ словарь 1Cv8.lgf для последовательного формата не переносите и не удаляйте — без него не прочитать оставшиеся .lgp.

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

Полная очистка

Иногда журнал испорчен и база из-за этого не стартует или падает при входе. Тогда журнал переименовывают, а платформа создаёт новый пустой.

В серверной базе для этого остановите службу агента сервера 1С или заблокируйте сеансы. Остановка службы оборвёт работу всех пользователей всех баз кластера — делайте это вне рабочего времени и с предупреждением пользователей.

После остановки переименуйте 1Cv8Log в 1Cv8Log_old, запустите службу и войдите в базу. Новая папка создастся сама. Старую сохраните: из неё ещё можно попытаться достать события.

Типичные проблемы с файлами журнала

Диагностика: выберите симптом

Частые вопросы

Можно ли перенести журнал регистрации на другой диск?
Отдельно от базы — нет: журнал всегда в 1Cv8Log каталога базы. В серверном варианте переносят весь каталог srvinfo с изменением параметра -d у службы агента.
Журнал регистрации попадает в выгрузку .dt?
Нет. Файл .dt содержит данные и конфигурацию, а журнал остаётся в 1Cv8Log. Если журнал нужен на новом месте, копируйте папку отдельно.
Сколько места занимает журнал?
Зависит от уровня регистрации и активности. У базы на 50 пользователей при уровне «Все события» журнал за год легко занимает десятки гигабайт, поэтому и нужно разделение по периодам.
Хранится ли журнал регистрации в SQL-базе на MS SQL или PostgreSQL?
Нет. Даже у серверной базы на СУБД журнал регистрации ведётся файлами на сервере 1С, в каталоге srvinfo, а не в таблицах СУБД.
Видно ли в журнале, кто удалил документ?
Да, если документ удалялся непосредственно, а уровень регистрации включает информационные события. Отберите по событию удаления и по объекту — в записи будут пользователь, компьютер и время.