Журнал регистрации в формате .lgd: где лежит, как читать и чинить
Содержание
Файл 1Cv8.lgd — это журнал регистрации информационной базы 1С:Предприятия 8.3, записанный одним файлом в формате базы данных SQLite. В нём платформа хранит события: входы и выходы пользователей, запись и удаление объектов, ошибки, фоновые задания, обновления конфигурации. Лежит он в подкаталоге 1Cv8Log рядом с базой, а читать его правильно через сам журнал регистрации в 1С, а не напрямую.
Есть два формата журнала. Последовательный — словарь 1Cv8.lgf плюс много файлов *.lgp с событиями по периодам. Формат SQLite — один 1Cv8.lgd. Первый проще чинить и чистить, второй удобнее для выборок, но при сбое повреждается целиком. Какой из них выбрать и что делать, если журнал сломался или разросся до гигабайтов, разобрано ниже.
Что такое файл LGD и зачем он нужен базе
Журнал регистрации — встроенный механизм платформы, а не конфигурации. Он работает в любой базе: Бухгалтерии, ЗУП, УТ, самописной. Конфигурация может только добавлять свои события методом ЗаписьЖурналаРегистрации().
Что попадает в журнал:
- 👤 начало и завершение сеанса, неудачные попытки входа;
- 📝 запись, проведение, пометка на удаление и удаление объектов;
- ⚠️ ошибки времени выполнения, в том числе с текстом исключения;
- ⚙️ запуск и завершение фоновых и регламентных заданий;
- 🔧 изменение конфигурации, обновление структуры базы, загрузка
.dt; - 🗂 события, которые пишет сама конфигурация: обмены, загрузка банка, обновление релиза.
Для каждой записи хранятся дата и время, пользователь, компьютер, приложение (тонкий клиент, конфигуратор, фоновое задание), событие, объект метаданных, данные (ссылка), представление и комментарий, а также номер сеанса и статус транзакции.
Журнал регистрации и технологический журнал — разные вещи. Технологический журнал включается файлом logcfg.xml, пишется в текстовые .log и нужен для разбора производительности и сбоев платформы. Файлы .lgd к нему отношения не имеют.
Где находится 1Cv8.lgd в файловой и серверной базе
Путь зависит от варианта работы базы.
| Вариант базы | Где искать журнал |
|---|---|
| Файловая | Каталог базы (там, где 1Cv8.1CD) → подкаталог 1Cv8Log |
| Клиент-серверная | <каталог srvinfo>\reg_1541\<идентификатор базы>\1Cv8Log на рабочем сервере |
Для серверной базы каталог srvinfo по умолчанию находится в C:\Program Files\1cv8\srvinfo, но при установке его часто переносят. Точное место видно в параметрах запуска службы агента сервера: ключ -d в строке запуска службы.
Идентификатор базы — это GUID. Чтобы понять, какой GUID у вашей базы, откройте в каталоге reg_1541 файл 1CV8Clst.lst любым текстовым редактором и найдите по имени базы её строку: рядом с именем стоит идентификатор.
Файл 1CV8Clst.lst — реестр кластера. Открывайте копию или только на чтение. Случайное сохранение с правкой может сломать список баз на сервере.
Как открыть и просмотреть журнал регистрации
Штатно, из 1С
Это основной способ. Платформа сама расшифрует коды пользователей, компьютеров и метаданных.
- Конфигуратор: меню
Администрирование → Журнал регистрации. - Режим 1С:Предприятие:
Все функции → Стандартные → Журнал регистрации. Если пункта «Все функции» нет в меню, включите его вСервис и настройки → Параметры → Отображать команду «Все функции». - Типовые конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11): журнал есть в разделе
Администрирование → Обслуживание.
В форме журнала задайте отбор: период, пользователь, событие, объект метаданных. Без отбора по периоду в большом журнале форма может открываться минутами.
Самый быстрый поиск «кто удалил документ»: отбор по событию «Данные. Удаление» и по нужному объекту метаданных за узкий период. Потом откройте запись — в поле «Данные» будет представление удалённого объекта.
Выгрузка в файл
Отобранные записи можно сохранить из формы журнала в XML, а программно — методом ВыгрузитьЖурналРегистрации(ИмяФайла, Отбор). Так журнал передают разработчику или подрядчику, не отдавая саму базу.
Напрямую через SQLite
Файл .lgd открывается любым просмотрщиком SQLite, например DB Browser for SQLite. Внутри — таблицы-справочники кодов (пользователи, компьютеры, события, метаданные) и основная таблица событий, где вместо имён стоят числовые коды. Читать такое без связки таблиц неудобно, но для массового анализа SQL-запросом это работает.
Открывайте только копию файла. Работающая база держит журнал открытым на запись. Если просмотрщик заблокирует файл или запишет в него хоть что-то, 1С может начать выдавать ошибки записи журнала.
Формат хранения: LGD против LGF и LGP
Разница между форматами влияет на всё: на скорость, на чистку, на восстановление после сбоя.
| Признак | SQLite (1Cv8.lgd) | Последовательный (1Cv8.lgf + *.lgp) |
|---|---|---|
| Сколько файлов | Один | Словарь и файлы событий по периодам |
| Поиск с отбором | Быстрее на больших объёмах | Медленнее, файлы читаются подряд |
| Удаление старых событий | Только через 1С или сокращение журнала | Можно убрать старые .lgp целиком |
| Повреждение | Страдает весь файл | Обычно один .lgp |
| Размер на диске | Не уменьшается сам после удаления записей | Уменьшается при удалении файлов |
Если рядом с 1Cv8.lgd на короткое время появляется файл 1Cv8.lgd-journal — это служебный файл SQLite, который живёт во время записи транзакции. Удалять его вручную нельзя: он нужен для отката незавершённой записи.
Про упоминания «LDX» рядом с LGD: в штатной паре форматов журнала регистрации такие файлы не участвуют. Если в каталоге 1Cv8Log вы видите незнакомое расширение, не удаляйте его по отдельности — переносите каталог журнала целиком.
Как сменить формат журнала
Платформа определяет формат по тому, какой файл лежит в каталоге 1Cv8Log. На этом основан рабочий приём перевода:
- Выгоните пользователей и дождитесь завершения фоновых заданий. Пока база запущена, журнал трогать нельзя.
- Для серверной базы на время операции заблокируйте начало сеансов в консоли кластера.
- Перенесите весь каталог
1Cv8Logв архив — это ваша копия истории. - Создайте новый пустой каталог
1Cv8Log. - Положите в него пустой файл с нужным именем:
1Cv8.lgf— для последовательного формата,1Cv8.lgd— для SQLite. - Запустите базу. Платформа начнёт писать журнал в выбранном формате.
Старую историю после этого можно смотреть, подключив архивную копию к копии базы. В рабочем журнале её уже не будет.
Типичные проблемы с LGD и их диагностика
У журнала в формате SQLite три частых беды: он разрастается, повреждается или к нему нет доступа.
Почему файл не уменьшается после сокращения
SQLite при удалении записей помечает страницы свободными, но размер файла не уменьшает. Поэтому «сократили журнал, а файл всё такой же большой» — нормальное поведение.
Уменьшить файл можно командой VACUUM в просмотрщике SQLite. Делайте это только так:
- Остановите работу с базой (для сервера — заблокируйте сеансы).
- Скопируйте
1Cv8.lgdв отдельную папку. - Выполните над копией:
VACUUM;
- Проверьте, что копия открывается в просмотрщике.
- Положите сжатый файл на место исходного, исходник сохраните в архив.
Если на любом шаге что-то пошло не так, верните исходный файл. Не выполняйте VACUUM над журналом работающей базы.
Проблемы с доступом в серверной базе
Сервер 1С пишет журнал от имени пользователя службы агента — по умолчанию это USR1CV8. Если каталог srvinfo перенесли на другой диск или восстановили из бэкапа, права на него часто теряются.
Проверьте:
- ✅ у пользователя службы есть право «Изменение» на весь каталог
srvinfo; - ✅ каталог журнала не исключён из записи политикой антивируса и не лежит на сетевой папке;
- ✅ система резервного копирования не держит
1Cv8.lgdоткрытым во время работы базы.
Настройка журнала регистрации
Настройка делается в конфигураторе: Администрирование → Настройка журнала регистрации. Монопольный доступ не нужен, но права администратора в базе обязательны.
Уровень регистрации
| Уровень | Что пишется | Когда выбирать |
|---|---|---|
| Не регистрировать | Ничего | Почти никогда: теряется вся история |
| Регистрировать ошибки | Только ошибки | Тестовые базы, где важен минимальный размер |
| Ошибки и предупреждения | Плюс предупреждения | Небольшие базы без требований к аудиту |
| Ошибки, предупреждения и информацию | Плюс информационные события, в том числе запись данных | Рабочие базы, где нужно разбирать «кто что сделал» |
| Регистрировать все события | Плюс примечания | Временно, на время поиска проблемы |
На практике для рабочей бухгалтерской базы ставят третий-четвёртый уровень. Максимальный уровень раздувает журнал быстро: в базе на 30–50 активных пользователей файл может прибавлять сотни мегабайт в месяц.
Разделение по периодам и сокращение
В той же форме задаётся период разделения журнала. Для последовательного формата это означает новые файлы .lgp за каждый период — их удобно архивировать и удалять.
Кнопка сокращения журнала удаляет события до указанной даты. Перед этим платформа предложит сохранить удаляемые записи в файл — не отказывайтесь, если журнал может понадобиться для проверки.
Программная настройка
Для автоматизации есть методы встроенного языка:
УстановитьИспользованиеЖурналаРегистрации()— задать уровень;ПолучитьИспользованиеЖурналаРегистрации()— прочитать текущий;ЗаписьЖурналаРегистрации()— записать своё событие;ВыгрузитьЖурналРегистрации()— выгрузить записи с отбором в файл.
Пример записи своего события из серверного модуля:
ЗаписьЖурналаРегистрации("Загрузка выписки",
УровеньЖурналаРегистрации.Информация,
Метаданные.Документы.ПоступлениеНаРасчетныйСчет,
,
"Загружено документов: " + Формат(КоличествоДокументов, "ЧГ=0"));
Журнал как инструмент аудита и безопасности
Журнал регистрации — главный источник ответа на вопрос «кто это сделал». Но он не заменяет полноценную систему аудита.
Что он умеет:
- 🔍 показать, кто и когда изменил или удалил документ, справочник, настройку;
- 🔍 показать неудачные попытки входа — признак подбора пароля;
- 🔍 показать, кто запускал конфигуратор и обновлял структуру базы.
Чего он не делает: не хранит старые значения реквизитов. Журнал скажет, что документ изменён, но не покажет, какая сумма была до правки. Для этого в типовых конфигурациях есть отдельный механизм версионирования объектов, его включают в настройках администрирования.
Как защитить журнал
Пользователь с доступом к каталогу 1Cv8Log на диске может просто удалить файл — и вместе с ним следы. Поэтому:
- Дайте права на каталог только пользователю службы 1С и администраторам.
- Для файловой базы на общей папке это сложнее: всем пользователям нужен доступ на запись к каталогу базы. Если аудит важен, переводите базу на клиент-серверный вариант.
- Регулярно копируйте журнал в архив вместе с резервной копией базы.
- В ролях конфигурации право на просмотр журнала регистрации выдавайте только администраторам и ответственным лицам. Рядовому бухгалтеру оно не нужно.
В конфигурациях на БСП есть настройка регистрации событий доступа к персональным данным. Её включают, когда компания обязана фиксировать, кто просматривал данные сотрудников или клиентов. Журнал от этого растёт заметно быстрее.