Папка 1Cv8Log: где 1С хранит журнал регистрации и как его разобрать

· 9 мин

Содержание

Журнал регистрации 1С 8.3 лежит в папке 1Cv8Log. У файловой базы она находится прямо в каталоге базы, рядом с файлом 1Cv8.1CD. У клиент-серверной базы — на сервере 1С, в каталоге кластера: srvinfo\reg_1541\<GUID базы>\1Cv8Log. На Windows это обычно C:\Program Files\1cv8\srvinfo\..., на Linux — /home/usr1cv8/.1cv8/1C/1cv8/....

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

Всё ниже относится к платформе 8.3 и одинаково для любых конфигураций: БП, ЗУП, УТ, ERP. Журнал ведёт платформа, а не прикладное решение.

Физическое расположение журнала регистрации на диске

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

Вариант базыОСГде лежит папка журнала
ФайловаяWindows / Linux<каталог базы>\1Cv8Log
Клиент-сервернаяWindowsC:\Program Files\1cv8\srvinfo\reg_1541\<GUID>\1Cv8Log
Клиент-сервернаяLinux/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID>/1Cv8Log

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

Как найти каталог файловой базы

  • 📂 В окне запуска выделите базу и нажмите Изменить — на первом шаге виден путь к каталогу.
  • ℹ️ В открытой базе зайдите в Справка → О программе: в строке информационной базы указан путь File="...".
  • 🔎 Поищите на диске файл 1Cv8.1CD — папка 1Cv8Log лежит рядом.

Как узнать GUID серверной базы

В каталоге reg_1541 лежат папки с длинными именами вида 3f2a1c7e-.... Каждая — одна информационная база. Чтобы понять, какая из них ваша:

  1. Откройте в той же папке reg_1541 файл 1CV8Clst.lst любым текстовым редактором, только для чтения.
  2. Найдите поиском имя базы, как оно задано в кластере.
  3. Рядом с именем стоит идентификатор — это и есть имя нужной папки.

Второй вариант — утилита rac. Команда rac infobase summary list --cluster=<id кластера> выводит список баз кластера с их идентификаторами. Идентификатор кластера даёт rac cluster list.

Не редактируйте и не сохраняйте 1CV8Clst.lst. Это реестр кластера. Испорченный файл ломает работу всех баз на сервере.

Права доступа к папке

Служба сервера 1С пишет журнал от имени своей учётной записи, по умолчанию USR1CV8. У этой учётной записи должны быть права на запись в каталог. Для файловой базы права на запись в 1Cv8Log нужны каждому пользователю, который запускает базу.

Форматы файлов: lgf, lgp и lgd

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

ФорматФайлыКак устроенЧем открыть
Последовательный1Cv8.lgf + *.lgpТекстовые файлы, данные дописываются в конецСредствами 1С, сторонними утилитами, текстовым редактором
SQLite1Cv8.lgdОдин файл базы данных SQLiteСредствами 1С, любым клиентом SQLite

Последовательный формат. Файл 1Cv8.lgf — словарь: в нём под номерами записаны пользователи, компьютеры, события, объекты метаданных. Файлы .lgp — сами записи журнала, каждая ссылается на номера из словаря. Имя .lgp содержит дату начала периода, например 20261001000000.lgp.

Читать .lgp в блокноте можно, но неудобно. Вместо имени пользователя там стоит число, которое нужно искать в lgf.

Формат SQLite. Все записи в одном файле .lgd. Его удобно анализировать SQL-запросами, но при большом объёме файл медленнее открывается и тяжелее переносится.

💡 Формат определяется на глаз: есть .lgd — база SQLite, есть .lgp — последовательный. Если в папке оба типа, рабочим считается тот, файлы которого обновлялись последними.

Как настроить ведение журнала

Параметры журнала задают в Конфигураторе: Администрирование → Настройка журнала регистрации. Нужны права администратора.

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

Уровень определяет, какие события вообще попадут в журнал:

  • ❌ Не регистрировать — журнал не ведётся. Расследовать потом нечего.
  • 🔴 Регистрировать ошибки — только ошибки.
  • 🟠 Ошибки и предупреждения.
  • 🟡 Ошибки, предупреждения и информацию.
  • 🟢 Регистрировать все события — включая примечания. Значение по умолчанию.

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

Разделение по периодам

В той же форме можно задать, как делить журнал на файлы: по дням, неделям, месяцам и т. д. Это касается последовательного формата. Чем мельче период, тем меньше каждый .lgp и тем проще архивировать старые месяцы. Для базы на 50 и больше пользователей деление по дням или неделям заметно ускоряет открытие журнала с отбором по свежим датам.

Сокращение журнала

Кнопка сокращения удаляет записи старше указанной даты. Перед удалением платформа предлагает сохранить удаляемые записи в файл — согласитесь. Иначе история за этот период пропадёт навсегда.

Сокращение большого журнала идёт долго и нагружает диск. Запускайте его вне рабочего времени.

Как проанализировать содержимое лога

Просмотр из программы

Журнал открывается двумя путями:

  • в Конфигураторе — Администрирование → Журнал регистрации;
  • в пользовательском режиме БП 3.0, ЗУП 3.1, УТ 11 — Администрирование → Обслуживание → Отчеты администратора → Журнал регистрации.

Сразу ставьте отбор. Без него программа пытается показать все записи, и на журнале в несколько гигабайт форма открывается минутами.

Порядок, который экономит время:

  1. Задайте интервал — день или час, когда случилась проблема.
  2. Ограничьте уровень: при поиске сбоя — только «Ошибка».
  3. Добавьте пользователя или компьютер, если знаете, у кого упало.
  4. Для вопроса «кто изменил документ» — отбор по данным (конкретная ссылка на объект) и событию изменения данных.

Двойной щелчок по записи открывает подробности. В поле «Комментарий» у ошибок обычно лежит полный текст исключения с модулем и строкой — его и передают программисту.

Выгрузка в файл

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

Анализ копии журнала без доступа к рабочей базе

Приём из практики администраторов, когда рабочую базу трогать нельзя:

  1. Создайте пустую файловую базу на любой конфигурации, хоть без конфигурации.
  2. Закройте её и удалите из её каталога папку 1Cv8Log.
  3. Скопируйте на её место папку 1Cv8Log рабочей базы.
  4. Откройте пустую базу и журнал регистрации в ней.

Записи будут видны с датами, пользователями и комментариями. Представления объектов при этом могут не открыться — ссылки указывают на данные, которых в пустой базе нет. Для поиска ошибок и действий пользователей этого хватает.

💡 Копируйте папку целиком, вместе с 1Cv8.lgf. Файлы .lgp без словаря бесполезны.

Сторонние утилиты: 1CLogReader и аналоги

Кроме штатного просмотра есть сторонние инструменты. В выдаче их ищут под названиями вроде 1CLogReader, есть и открытые загрузчики журнала в ClickHouse или Elasticsearch. Задача у них одна — разобрать .lgf и .lgp или прочитать .lgd быстрее, чем это делает форма журнала, и дать гибкие отборы и группировки.

Когда такие утилиты оправданы:

  • 📈 журнал весит десятки гигабайт и штатная форма зависает;
  • 🗂 нужно свести журналы нескольких баз в одну таблицу;
  • 📊 нужна статистика: топ ошибок за месяц, активность по пользователям, частота событий.

Правила безопасной работы:

  • работайте с копией папки 1Cv8Log, а не с живыми файлами — сервер продолжает в них писать;
  • не давайте утилите права на запись в каталог базы;
  • для .lgd подойдёт любой клиент SQLite, открывайте копию файла только для чтения.

Сторонние программы — не продукт фирмы 1С. Перед установкой на сервер проверьте источник дистрибутива.

Программный доступ к журналу из конфигурации

Журнал читается и пишется встроенным языком. Методы выполняются на сервере, для чтения нужны административные права.

Запись своего события

ЗаписьЖурналаРегистрации(
    "Обмен.ЗагрузкаПрайса",
    УровеньЖурналаРегистрации.Ошибка,
    ,
    ,
    "Не найден файл прайса: " + ИмяФайла);

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

Чтение записей за период

&НаСервере
Процедура ПоказатьОшибкиЗаСутки()

    Записи = Новый ТаблицаЗначений;
    Отбор = Новый Структура;
    Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 86400);
    Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);

    ВыгрузитьЖурналРегистрации(Записи, Отбор);

    Для Каждого Запись Из Записи Цикл
        Сообщить(Формат(Запись.Дата, "ДФ='дд.ММ.гггг ЧЧ:мм'")
            + " | " + Запись.ИмяПользователя
            + " | " + Запись.Событие
            + " | " + Запись.Комментарий);
    КонецЦикла;

КонецПроцедуры

Метод ВыгрузитьЖурналРегистрации заполняет таблицу значений записями по отбору. Ставьте в отбор дату начала всегда: выгрузка всего журнала без ограничений может съесть память рабочего процесса.

Управление уровнем из кода

Функции ПолучитьИспользованиеЖурналаРегистрации() и УстановитьИспользованиеЖурналаРегистрации() читают и меняют уровень регистрации — то же, что настройка в Конфигураторе. Пригодится для обработки администратора, которая проверяет, не выключил ли кто-то журнал.

Журнал регистрации и технологический журнал: в чём разница

Под «логами 1С» часто ищут разные вещи. Путаница стоит времени: человек часами смотрит журнал регистрации, а нужная запись — в другом месте.

ЧтоГде лежитЧто пишетКак включают
Журнал регистрации1Cv8Log базыДействия пользователей, ошибки, изменения данныхВключён по умолчанию
Технологический журналКаталог из настройки logcfg.xmlВызовы, запросы к СУБД, блокировки, исключения процессовВручную, файлом logcfg.xml
ДампыКаталог из logcfg.xmlСнимки памяти при аварийном падении процессаТам же, в logcfg.xml

Файл logcfg.xml кладут в каталог conf платформы, например C:\Program Files\1cv8\conf. В нём указывают, какие события писать и в какую папку. Без этого файла технологический журнал не ведётся.

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

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

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

Переименование или перенос папки журнала на сервере — только после того, как все пользователи вышли из базы. Сеансы, которые в этот момент пишут журнал, могут завершиться с ошибкой. Для серверной базы надёжнее сначала заблокировать начало сеансов в консоли кластера.

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

Можно ли просто удалить папку 1Cv8Log?
Технически платформа создаст новый журнал. Но вы потеряете всю историю действий пользователей. Сначала сохраните копию, удаляйте только при отсутствии сеансов.
Попадает ли журнал регистрации в выгрузку .dt?
Нет. Файл .dt содержит конфигурацию и данные, а журнал лежит отдельно в 1Cv8Log. Если история нужна на новом сервере, переносите папку журнала вручную.
Сколько хранится журнал по умолчанию?
Без ограничения срока. Платформа сама старые записи не удаляет — только при сокращении журнала администратором.
Видно ли в журнале, какие именно поля документа изменили?
Штатно журнал фиксирует факт изменения объекта, пользователя и время. Значения «было — стало» по реквизитам он не хранит. Для этого в конфигурациях настраивают отдельную версионность объектов.
Можно ли хранить журнал на другом диске?
Отдельной настройки пути у журнала нет — он лежит в каталоге базы или кластера. Перенести его можно только вместе с каталогом srvinfo или каталогом файловой базы.