Чужой или архивный журнал регистрации: читаем файлы 1Cv8Log без исходной базы
Содержание
Чтобы открыть журнал регистрации 1С 8.3 из файла, создайте пустую файловую базу
на той же или более новой платформе, закройте её и замените в ней папку 1Cv8Log на скопированную из нужной базы. Затем запустите пустую базу и откройте журнал: Все функции → Стандартные → Журнал регистрации. Платформа прочитает чужие файлы как собственные — со всеми пользователями, компьютерами и событиями.
Есть и другие пути. Если исходная база жива, журнал проще открыть прямо в ней. Если нужен анализ без 1С — выгрузите журнал в XML или разберите текстовые файлы .lgp скриптом. Какой способ выбрать, зависит от того, что у вас на руках: работающая база, только папка с логами или поток событий за год.
| Что у вас есть | Способ | Когда подходит |
|---|---|---|
| Рабочая база с доступом | Журнал в самой базе | Обычный разбор инцидента |
Только папка 1Cv8Log | Пустая база-«читалка» | База удалена, сломана, на другом сервере |
| Нужен отчёт или поиск по годам | Выгрузка в XML, скрипт | Аудит, аналитика, передача подрядчику |
Журнал в формате SQLite (.lgd) | Пустая база или SQL-клиент | Базы со старым форматом журнала |
Где искать файлы журнала и из чего они состоят
Журнал регистрации — это не одна запись в базе данных, а набор файлов в отдельной папке. Где она лежит, зависит от варианта работы базы.
📁 Файловая база. Папка 1Cv8Log находится внутри каталога базы, рядом с 1Cv8.1CD. Путь к каталогу видно в окне запуска 1С: выделите базу в списке, он показан внизу окна.
🖥 Клиент-серверная база . Журнал хранится на рабочем сервере 1С, а не на сервере СУБД. Путь по умолчанию для службы на Windows:
C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log
Если при установке службы задали другой каталог srvinfo, ищите там. Папка reg_1541 соответствует порту менеджера кластера; при нестандартном порте номер будет другим. GUID базы — длинное имя папки; нужную найдёте по дате изменения файлов или в консоли кластера.
🐧 Сервер на Linux. Каталог по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log.
Какие файлы внутри
В 8.3 встречаются два формата журнала.
Последовательный (текстовый) формат:
1Cv8.lgf— словарь: пользователи, компьютеры, приложения, объекты метаданных, события. Каждой строке присвоен номер.*.lgp— сами события. Имена файлов — дата и время начала периода, например20261001000000.lgp. Внутри события ссылаются на номера из словаря.
Формат SQLite:
1Cv8.lgd— одна база данных SQLite, внутри и словари, и события.
Файл .lgp без 1Cv8.lgf почти бесполезен. Вместо имён пользователей и названий документов вы увидите числа. Копируйте папку целиком, а не выборочные файлы.
Чтобы узнать формат, просто загляните в папку. Есть .lgf и .lgp — последовательный. Есть .lgd — SQLite. Пустая база-«читалка» понимает оба варианта.
Открываем журнал 1С из файла через пустую базу
Это основной и самый надёжный способ. Он работает и для архивных логов, и для журнала базы, которую уже удалили из кластера.
- Скопируйте папку журнала. С сервера копируйте
1Cv8Logцеликом в рабочую папку, напримерD:\LogCheck\src. Копия нужна, чтобы не мешать службе, которая продолжает писать в живые файлы. - Создайте пустую файловую базу. В окне запуска:
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. Каталог — например,D:\LogCheck\base. - Запустите её один раз и закройте. Платформа создаст служебную папку
1Cv8Logвнутри каталога базы. - Замените папку. Удалите содержимое
D:\LogCheck\base\1Cv8Logи скопируйте туда файлы изD:\LogCheck\src. - Откройте базу в режиме 1С:Предприятие. Журнал откроется через
Все функции → Стандартные → Журнал регистрации. Если пункта «Все функции» нет в главном меню, включите его:Сервис и настройки → Параметры → Отображать команду «Все функции».
💡 Можно открыть пустую базу и в Конфигураторе: Администрирование → Журнал регистрации. Форма та же, но запуск быстрее — не грузится интерфейс приложения.
Почему важна версия платформы
Открывайте журнал на той же версии платформы, что и исходная база, или на более новой. Более старая платформа может не распознать формат файлов или покажет журнал пустым.
Если у вас стоит несколько версий, выберите нужную в свойствах базы в окне запуска: поле «Версия 1С:Предприятия» на последнем шаге редактирования.
Если журнал огромный
Журнал за год работы крупной базы занимает гигабайты. Открытие целиком растянется на минуты, а форма может перестать отвечать.
- 📅 Переносите только файлы
.lgpза нужные даты плюс обязательно1Cv8.lgf. - 🔍 Сразу после открытия задайте отбор по периоду — до того, как пролистывать список.
- 💾 Работайте с локального SSD, а не по сети с сервера.
Анализ событий в форме журнала 1С
Форма журнала одинакова в любой конфигурации — это платформенный механизм. В типовых конфигурациях на БСП есть ещё своя форма журнала в разделе Администрирование → Обслуживание, но для чужих файлов в пустой базе доступна только стандартная.
Каждая строка журнала содержит:
| Колонка | Что показывает |
|---|---|
| Дата, время | Момент события с точностью до секунды |
| Пользователь | Имя из списка пользователей базы |
| Компьютер | Имя машины, с которой работал клиент |
| Приложение | Тонкий клиент, конфигуратор, фоновое задание, COM-соединение |
| Событие | Тип: начало сеанса, изменение данных, ошибка и т. д. |
| Метаданные, данные | Какой объект затронут: документ, справочник |
| Комментарий | Текст ошибки или пояснение |
| Сеанс | Номер сеанса — по нему связывают события одного входа |
Двойной щелчок по строке открывает карточку события. В ней видно полное значение данных и весь текст комментария, который в списке обрезается.
💡 Ссылки на документы в чужом журнале не откроются: в пустой базе нет этих объектов. Зато в колонке «Представление данных» сохраняется текст вида «Реализация товаров и услуг 0000-000123 от 05.10.2026». По нему документ легко найти в рабочей базе.
Отбор ошибок и подозрительных действий
Без отбора журнал — это сотни тысяч строк. Откройте настройку отбора кнопкой с воронкой или через меню «Ещё» формы. В окне отбора задают период, пользователей, компьютеры, события, метаданные, уровень важности, сеанс и текст комментария.
Уровни важности
- 🔴 Ошибка — исключения при проведении, сбои фоновых заданий, падения обмена.
- 🟠 Предупреждение — некритичные проблемы.
- 🔵 Информация — штатные действия: вход, запись, проведение.
- ⚪ Примечание — служебные записи.
Начните с уровня «Ошибка» за период инцидента. Это сразу отсекает 95–99% строк обычной базы — точная доля зависит от активности пользователей.
Типовые сценарии поиска
| Задача | Что поставить в отбор |
|---|---|
| Кто удалил документ | Событие «Данные. Удаление», метаданные — нужный вид документа |
| Кто перепровёл период | Событие «Данные. Проведение», период, вид документа |
| Подбор пароля | Событие «Сеанс. Ошибка аутентификации» |
| Кто менял конфигурацию | События группы «Информационная база», приложение «Конфигуратор» |
| Почему упал обмен | Уровень «Ошибка», приложение «Фоновое задание» |
💡 Нашли подозрительную запись — запомните номер сеанса и поставьте отбор по нему. Увидите всё, что этот пользователь делал от входа до выхода.
Журнал хранит только то, что разрешено уровнем регистрации. Если в базе стоял уровень «Регистрировать ошибки», событий изменения данных в файлах не будет — их не восстановить никаким способом.
Выгрузка журнала в XML и текст
Иногда журнал нужен вне 1С: отправить подрядчику, загрузить в аналитическую систему, найти строку по всем годам сразу.
Выгрузка из формы
В Конфигураторе в форме журнала есть команда сохранения журнала в файл XML — ищите её в меню «Действия» формы. Выгружается то, что попало в отбор, поэтому сначала настройте период и уровень. XML содержит уже расшифрованные имена пользователей и объектов, словарь не нужен.
Выгрузка кодом
В пустой базе или в рабочей журнал читается встроенным языком через метод глобального контекста ВыгрузитьЖурналРегистрации. Пример ниже собирает ошибки за неделю в таблицу значений и выводит их в сообщения:
Таблица = Новый ТаблицаЗначений;
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", ТекущаяДата() - 7 * 86400);
Отбор.Вставить("ДатаОкончания", ТекущаяДата());
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
Для Каждого Строка Из Таблица Цикл
Сообщить(СтрШаблон("%1 | %2 | %3",
Строка.Дата, Строка.ИмяПользователя, Строка.Комментарий));
КонецЦикла;
Код выполняется на сервере и требует административных прав. Для разовой проверки удобно запустить его через внешнюю обработку в пустой базе-«читалке».
Если первым параметром передать строку с путём к файлу вместо таблицы, метод сохранит отобранные события в XML.
Чтение .lgp как текста
Файлы .lgp — обычный текст в кодировке UTF-8. Каждое событие — запись в фигурных скобках, где пользователь, компьютер и событие указаны номерами из 1Cv8.lgf. Открыть их можно любым редактором, но расшифровывать номера придётся вручную или скриптом. Для разовой проверки быстрее пустая база; для регулярного анализа — скрипт, который сопоставляет .lgp со словарём.
Журнал в формате SQLite (1Cv8.lgd) открывается любым клиентом SQLite. Работайте только с копией: открытие живого файла сторонней программой может помешать службе 1С.
Уровень детализации и ротация файлов журнала
Что попадёт в журнал и как файлы будут делиться, задают в Конфигураторе исходной базы: Администрирование → Настройка журнала регистрации.
Уровень регистрации:
- «Не регистрировать» — журнал не ведётся;
- «Регистрировать ошибки» — только ошибки;
- «Регистрировать ошибки и предупреждения»;
- «Регистрировать ошибки, предупреждения и информацию»;
- «Регистрировать все события» — включая примечания.
Для расследований нужен уровень с информацией или «все события». Иначе удаления и изменения данных просто не записываются.
Разделение по периодам. В той же форме выбирают, как дробить журнал: по часам, дням, неделям, месяцам или годам. Каждому периоду соответствует свой файл .lgp. Чем мельче период, тем проще потом скопировать нужный кусок и не тащить гигабайты.
💡 Для активной базы на 50+ пользователей удобно делить журнал по дням. Файл за день легко переносится, а инцидент обычно привязан к конкретной дате.
Сокращение журнала. Кнопка «Сократить» в той же форме удаляет старые события до указанной даты. Перед удалением платформа предлагает сохранить их в файл.
Перед сокращением сохраните старые события в файл. После сокращения записи пропадают из журнала навсегда, а именно они нужны при спорах о том, кто и когда изменил данные.
Регулярный анализ и сторонние инструменты
Разбирать журнал руками раз в квартал — нормально. Если же по нему следят за безопасностью или сбоями ежедневно, процесс стоит автоматизировать.
- 🗓 Регламентное задание в самой базе. Раз в сутки вызывает
ВыгрузитьЖурналРегистрациис отбором по ошибкам и отправляет сводку администратору. - 📦 Архив журнала. Скрипт по расписанию копирует закрытые файлы
.lgpпредыдущего периода в архивное хранилище. Живой текущий файл не трогает. - 📊 Внешние системы анализа логов. Сторонние парсеры читают пару
lgf+lgp, превращают события в записи с понятными полями и отправляют в систему поиска по логам. Там удобно строить графики ошибок и искать по всем базам сразу. - 🧩 Обработки с инфостарта и аналогичных ресурсов. Есть готовые внешние обработки для просмотра журнала с расширенным поиском. Перед запуском в рабочей базе проверьте код: обработка выполняется с вашими правами.
Журнал регистрации и технологический журнал — не одно и то же
Журнал регистрации пишет действия пользователей и ошибки прикладного уровня. Технологический журнал — это отдельный механизм платформы: запросы к СУБД, блокировки, взаимоблокировки, долгие вызовы. Он включается файлом logcfg.xml в каталоге conf платформы и пишет файлы .log в заданную папку.
Если вы ищете причину зависаний или ошибок блокировок, а в журнале регистрации пусто, значит, нужен технологический журнал.