Папка 1Cv8Log: где 1С хранит журнал регистрации и как его разобрать
Содержание
Журнал регистрации 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 |
| Клиент-серверная | Windows | C:\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-.... Каждая — одна информационная база. Чтобы понять, какая из них ваша:
- Откройте в той же папке
reg_1541файл1CV8Clst.lstлюбым текстовым редактором, только для чтения. - Найдите поиском имя базы, как оно задано в кластере.
- Рядом с именем стоит идентификатор — это и есть имя нужной папки.
Второй вариант — утилита rac. Команда rac infobase summary list --cluster=<id кластера> выводит список баз кластера с их идентификаторами. Идентификатор кластера даёт rac cluster list.
Не редактируйте и не сохраняйте 1CV8Clst.lst. Это реестр кластера. Испорченный файл ломает работу всех баз на сервере.
Права доступа к папке
Служба сервера 1С пишет журнал от имени своей учётной записи, по умолчанию USR1CV8. У этой учётной записи должны быть права на запись в каталог. Для файловой базы права на запись в 1Cv8Log нужны каждому пользователю, который запускает базу.
Форматы файлов: lgf, lgp и lgd
В папке 1Cv8Log вы увидите один из двух наборов файлов.
| Формат | Файлы | Как устроен | Чем открыть |
|---|---|---|---|
| Последовательный | 1Cv8.lgf + *.lgp | Текстовые файлы, данные дописываются в конец | Средствами 1С, сторонними утилитами, текстовым редактором |
| SQLite | 1Cv8.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 —
Администрирование → Обслуживание → Отчеты администратора → Журнал регистрации.
Сразу ставьте отбор. Без него программа пытается показать все записи, и на журнале в несколько гигабайт форма открывается минутами.
Порядок, который экономит время:
- Задайте интервал — день или час, когда случилась проблема.
- Ограничьте уровень: при поиске сбоя — только «Ошибка».
- Добавьте пользователя или компьютер, если знаете, у кого упало.
- Для вопроса «кто изменил документ» — отбор по данным (конкретная ссылка на объект) и событию изменения данных.
Двойной щелчок по записи открывает подробности. В поле «Комментарий» у ошибок обычно лежит полный текст исключения с модулем и строкой — его и передают программисту.
Выгрузка в файл
Отобранные записи выгружаются кнопкой выгрузки на форме журнала в файл XML. Его удобно отправить подрядчику или загрузить в другую базу для просмотра.
Анализ копии журнала без доступа к рабочей базе
Приём из практики администраторов, когда рабочую базу трогать нельзя:
- Создайте пустую файловую базу на любой конфигурации, хоть без конфигурации.
- Закройте её и удалите из её каталога папку
1Cv8Log. - Скопируйте на её место папку
1Cv8Logрабочей базы. - Откройте пустую базу и журнал регистрации в ней.
Записи будут видны с датами, пользователями и комментариями. Представления объектов при этом могут не открыться — ссылки указывают на данные, которых в пустой базе нет. Для поиска ошибок и действий пользователей этого хватает.
💡 Копируйте папку целиком, вместе с 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..lgp вручную у работающей базы нельзя — сделайте это только через сокращение.1Cv8Log. Затем, когда в базе нет пользователей, переименуйте папку — платформа создаст новый пустой журнал при следующем запуске. Старую копию разберите приёмом с пустой базой или сторонней утилитой.1CV8Clst.lst только для чтения и найдите имя базы, либо получите идентификатор через rac infobase summary list. Проверьте, не задан ли при установке нестандартный каталог srvinfo или другой порт кластера.Переименование или перенос папки журнала на сервере — только после того, как все пользователи вышли из базы. Сеансы, которые в этот момент пишут журнал, могут завершиться с ошибкой. Для серверной базы надёжнее сначала заблокировать начало сеансов в консоли кластера.
Частые вопросы
Можно ли просто удалить папку 1Cv8Log?
Попадает ли журнал регистрации в выгрузку .dt?
.dt содержит конфигурацию и данные, а журнал лежит отдельно в 1Cv8Log. Если история нужна на новом сервере, переносите папку журнала вручную.Сколько хранится журнал по умолчанию?
Видно ли в журнале, какие именно поля документа изменили?
Можно ли хранить журнал на другом диске?
srvinfo или каталогом файловой базы.