Журнал регистрации 1С 8.3: папка 1Cv8Log, настройка и очистка

· 10 мин

Содержание

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

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

Где физически лежат файлы журнала регистрации

Расположение зависит от варианта работы базы. Платформа одна и та же — 8.3, конфигурация роли не играет: БП, ЗУП, УТ и любая другая база пишут журнал одинаково.

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

Пути для сервера указаны для установки по умолчанию. Если при установке каталог srvinfo переносили, смотрите параметр -d в строке запуска службы агента сервера (ragent.exe). Он и задаёт корень srvinfo. Число 1541 в имени папки — порт менеджера кластера. Если кластер работает на нестандартном порту, папка будет называться иначе, например reg_2541.

Файловая база: как найти каталог

Каталог базы виден в окне запуска 1С. Выделите базу в списке — путь отобразится внизу окна. Второй способ — в открытой базе вызовите меню Справка → О программе: в строке информационной базы указан File="...".

Внутри каталога базы откройте 1Cv8Log. Если папки нет, журнал либо отключён, либо база ни разу не открывалась под этим уровнем регистрации.

Клиент-серверная база: как узнать GUID

В reg_1541 лежат папки с именами вида a1b2c3d4-.... Названий баз там нет. Сопоставить GUID с базой можно двумя способами.

  1. Откройте файл 1CV8Clst.lst в той же папке reg_1541 любым текстовым редактором. В нём перечислены базы кластера: рядом с GUID стоит имя базы. Найдите имя через поиск по тексту.
  2. Через утилиту rac (нужен запущенный сервер администрирования ras):
rac cluster list
rac infobase summary list --cluster=<uuid кластера>

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

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

Из каких файлов состоит журнал

Формат журнала бывает двух видов. Определить его можно по расширениям файлов в 1Cv8Log.

  • 📄 Последовательный (текстовый). Файл 1Cv8.lgf — справочник: пользователи, компьютеры, объекты метаданных, приложения. Файлы ГГГГММДДччммсс.lgp — сами события за период. Записи в .lgp ссылаются на номера из .lgf.
  • 🗄 SQLite. Один файл 1Cv8.lgd — база SQLite со всеми событиями. Появился в платформе 8.3.5.

Файл 1Cv8.lgf нельзя удалять и переносить отдельно от .lgp. Без него записи событий превращаются в набор чисел, а платформа не сможет показать старые события.

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

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

В окне два основных параметра.

Уровень регистрации — от «не регистрировать» до «регистрировать все события». Каждый следующий уровень включает предыдущие:

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

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

Разделение журнала по периодам — как часто платформа начинает новый файл .lgp. Действует только для последовательного формата. Для активной базы удобно делить по дням или по месяцам: старые файлы потом легко архивировать по имени.

Если журнал выключен (уровень «Не регистрировать»), восстановить события задним числом не получится. Перед расследованием инцидента сначала проверьте уровень, а уже потом ищите записи.

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

В конфигурациях на БСП часть событий пишется программно. Для своих доработок пригодятся методы встроенного языка:

// Записать своё событие
ЗаписьЖурналаРегистрации("Обмен.Загрузка",
    УровеньЖурналаРегистрации.Ошибка,
    Метаданные.Документы.РеализацияТоваровУслуг,
    ДокументСсылка,
    "Не найден контрагент по ИНН");

// Узнать текущие уровни регистрации
Уровни = ПолучитьИспользованиеЖурналаРегистрации();

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

Ротация и очистка: как не дать журналу съесть диск

Журнал не чистится сам. При уровне «Все события» и сотне пользователей он вырастает до десятков гигабайт за год (ориентировочно, зависит от активности). Есть три способа держать размер под контролем.

Способ 1. Сокращение журнала в конфигураторе

Это штатный и самый безопасный путь.

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

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

Способ 2. Удаление старых файлов .lgp

Подходит только для последовательного формата с разделением по периодам. Файлы прошлых периодов можно перенести в архив или удалить. Текущий файл (с самой поздней датой в имени) и 1Cv8.lgf не трогайте.

Пример bat-файла, который переносит .lgp старше 90 дней в архив:

@echo off
set LOG=C:\Program Files\1cv8\srvinfo\reg_1541\<GUID>\1Cv8Log
set ARC=D:\Archive\1Cv8Log
robocopy "%LOG%" "%ARC%" *.lgp /MOV /MINAGE:90

Ключ /MINAGE:90 отбирает файлы, изменённые более 90 дней назад. Текущий файл к ним не попадёт. Скрипт можно повесить на планировщик Windows.

1Cv8.lgf скопируйте в архив тоже. Он нужен, чтобы потом прочитать архивные .lgp.

Способ 3. Перенос журнала на другой диск

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

robocopy "C:\...\<GUID>\1Cv8Log" "E:\1cLogs\<GUID>" /E /MOVE
mklink /J "C:\...\<GUID>\1Cv8Log" "E:\1cLogs\<GUID>"

Перед переносом остановите службу «Агент сервера 1С:Предприятия 8.3». Остановка службы обрывает сеансы всех пользователей всех баз кластера — делайте это в нерабочее время и предупредите людей заранее. Для файловой базы достаточно, чтобы в ней никто не работал.

Какой способ выбрать

СпособКогда подходитРиски
«Сократить» в конфигуратореЛюбой формат, разовая чисткаДолго на больших журналах
Удаление старых .lgpПоследовательный формат, регулярная ротацияСлучайно удалить .lgf или текущий файл
Перенос через mklinkНе хватает места на системном дискеНужна остановка службы

Чтение событий: интерфейс 1С и сторонние утилиты

В режиме «Предприятие»

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

Для просмотра нужны права администратора. Обычный пользователь журнал не увидит.

Главное в работе с журналом — отбор. Не открывайте журнал за весь период: на большой базе это минуты ожидания. Сначала задайте:

  • 📅 интервал дат — день или несколько часов;
  • 👤 пользователя;
  • 🏷 событие (например, «Данные. Удаление» или «Сеанс. Начало»);
  • 📦 объект метаданных, если ищете изменения конкретного документа.

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

В конфигураторе

Меню Администрирование → Журнал регистрации. Возможности те же. Конфигуратор удобен, когда сама база не запускается в режиме «Предприятие», а понять причину нужно.

Выгрузка в XML

Метод ВыгрузитьЖурналРегистрации(ИмяФайла, Отбор) сохраняет события в XML с отбором по дате, пользователю, событию. Так удобно собрать выборку для разработчика или для загрузки во внешнюю систему.

Чтение архивных файлов

Чтобы посмотреть старый журнал, проще всего развернуть копию базы , заменить в ней папку 1Cv8Log архивной (вместе с 1Cv8.lgf) и открыть журнал штатно. Для массового анализа используют открытые утилиты-загрузчики, которые читают .lgf/.lgp и складывают события в SQL или Elasticsearch, — например, EventLogLoader.

Не путайте журнал регистрации с технологическим журналом. Технологический журнал включается файлом logcfg.xml в каталоге conf платформы, пишет события сервера (вызовы, блокировки, исключения) и нужен для анализа производительности. Журнал регистрации — про действия пользователей и прикладные события.

Почему журнал не пишется или не открывается

Сбои записи и чтения обычно сводятся к нескольким причинам. Проверяйте их по порядку — от простых к тем, что требуют остановки сервера.

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

Если журнал повреждён

Бывает, что после аварийного отключения питания журнал перестаёт открываться целиком. Порядок действий:

  1. Закройте все сеансы базы. Для клиент-серверной базы — заблокируйте начало сеансов в консоли кластера и дождитесь завершения работы пользователей.
  2. Переименуйте папку 1Cv8Log в 1Cv8Log_old.
  3. Откройте базу. Платформа создаст новую пустую папку журнала и начнёт писать события заново.
  4. Старую папку сохраните: из неё часто удаётся прочитать события утилитами или на копии базы.

Это действие не трогает данные базы — только журнал. Но история событий из основной базы исчезнет, поэтому старую папку не удаляйте.

Журнал регистрации в кластере из нескольких серверов

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

Отсюда практические выводы:

  • 🖥 Искать папку 1Cv8Log нужно на центральном сервере кластера, а не на том, где работал пользователь.
  • 💽 Место под журнал планируйте на центральном сервере. Для кластера с десятком активных баз это может быть больше, чем ресурсы под сами службы.
  • 🔐 Права на запись в srvinfo нужны учётной записи службы именно на центральном сервере.

Сбор журналов нескольких баз и кластеров в одно место

Когда баз десятки, открывать журнал каждой вручную неудобно. Рабочие схемы:

  1. Загрузчик в СУБД. Утилита по расписанию читает .lgp из всех папок reg_1541\*\1Cv8Log и складывает события в одну базу SQL. Дальше отчёты строятся запросами.
  2. Стек Elasticsearch + Kibana. То же, но с полнотекстовым поиском и дашбордами. Удобно для отбора по пользователю или IP по всем базам сразу.
  3. Выгрузка средствами 1С. Регламентное задание в каждой базе раз в сутки вызывает ВыгрузитьЖурналРегистрации с отбором за прошедший день и кладёт XML в общую сетевую папку.

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

Для централизованного сбора удобнее последовательный формат с разделением по дням: каждый закрытый .lgp — готовая порция для загрузки, которую легко перенести и архивировать.

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

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