Журнал регистрации сервера 1С: папка 1Cv8Log, формат, размер и уровень записи

· 9 мин

Содержание

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

Обычно об этом вспоминают, когда на диске сервера внезапно кончилось место, а в папке одной базы обнаружилось 40 ГБ логов. Или когда аудитор просит выгрузить, кто удалил документ полгода назад. В обоих случаях сначала надо найти верную папку: на сервере с двадцатью базами каталогов 1Cv8Log тоже двадцать, и названы они не именами баз.

Как сервер 1С ведёт журнал: rphost, кластер и сервис журналов

Журнал регистрации — это журнал событий самой информационной базы: входы и выходы пользователей, запись и удаление объектов, ошибки, обновление конфигурации , фоновые задания. Он не связан с СУБД. Даже если база лежит в PostgreSQL или MS SQL, журнал регистрации хранится в файлах на сервере 1С, а не в таблицах СУБД.

Цепочка в клиент-серверном варианте такая:

  • 🖥 ragent — агент сервера, принимает подключения (порт 1540) и хранит реестр кластера.
  • 🗂 rmngr — менеджер кластера (порт 1541). Среди его сервисов есть «Сервис журналов регистрации».
  • ⚙️ rphost — рабочие процессы. Код пользователей выполняется здесь, и события, которые возникают при работе, попадают в журнал базы.

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

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

Где лежат файлы журнала регистрации на Windows и Linux

Типовые пути

ВариантГде искать 1Cv8Log
Сервер 1С на Windows, установка по умолчаниюC:\Program Files\1cv8\srvinfo\reg_1541\<GUID>\1Cv8Log
Сервер 1С на Linux (пользователь usr1cv8)/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID>/1Cv8Log
Файловая база<каталог базы>\1Cv8Log

Число 1541 в имени папки — порт менеджера кластера. Если кластер поднят на другом порту, например 2541, папка будет называться reg_2541.

Если путь не совпадает

Каталог реестра задаёт параметр -d при запуске агента. Проверить его просто.

  1. Windows. Откройте services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3», откройте свойства. В строке «Исполняемый файл» будет примерно такое:
"C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\1C\srvinfo" -debug

Значение после -d и есть каталог srvinfo.

  1. Linux. Посмотрите командную строку процесса агента:
ps -ef | grep ragent
systemctl cat srv1cv8-8.3.24.1548@default 2>/dev/null

Имя юнита зависит от версии платформы и способа установки. Если systemctl cat ничего не вернул, ориентируйтесь на вывод ps: там будет тот же параметр -d.

Как узнать GUID нужной базы

Папки в reg_1541 названы не именами баз, а идентификаторами вида 4f2a1c8e-.... Соответствие хранится в файле реестра кластера 1CV8Clst.lst в той же папке reg_1541. Это текстовый файл: откройте его копию в редакторе и найдите имя базы, рядом будет её GUID.

Select-String -Path "C:\Program Files\1cv8\srvinfo\reg_1541\1CV8Clst.lst" -Pattern "buh_main" -Context 0,1

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

Второй способ, когда баз немного: зайдите в нужную базу, сделайте любое действие, которое пишется в журнал (например, войдите и выйдите), и посмотрите, в какой папке 1Cv8Log изменилась дата файлов.

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

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

ФорматФайлыЧто внутриКогда удобнее
Последовательный (старый)1Cv8.lgf + много *.lgplgf — словарь (пользователи, компьютеры, метаданные), lgp — записи событий по периодам, имя файла = дата начала периодаБольшие базы с интенсивной записью, удобная ротация файлами
SQLite (новый)1Cv8.lgdОдин файл базы SQLiteНебольшие базы, быстрые отборы в просмотре

Платформа определяет формат по тому, какой файл лежит в папке. На этом держится известный приём: чтобы перевести журнал базы на другой формат, папку 1Cv8Log убирают в архив и создают пустую с одним пустым файлом нужного типа — 1Cv8.lgf или 1Cv8.lgd. После этого платформа начнёт писать в новом формате с нуля.

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

Настройка журнала регистрации: уровень, разделение, сокращение

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

Через Конфигуратор

  1. Откройте базу в режиме Конфигуратора под администратором.
  2. Меню Администрирование → Настройка журнала регистрации.
  3. Выберите уровень записи и вариант разделения журнала по периодам.
  4. Нажмите «ОК». Настройка действует сразу, перезапуск службы не нужен.

Уровни идут по возрастанию объёма:

  • 🚫 «Не регистрировать» — журнал не ведётся. Для рабочей базы не советую: разбирать инциденты будет не по чему.
  • ❗ «Регистрировать ошибки».
  • ⚠️ «Регистрировать ошибки и предупреждения».
  • ℹ️ «Регистрировать ошибки, предупреждения и информацию».
  • 📝 «Регистрировать все события» — включая примечания, в том числе каждую запись объекта.

Из режима «Предприятие»

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

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

Чек-лист настройки для рабочей базы

Журнал регистрации на сервере: что проверить
Выполнено: 0 / 6

Размер журнала и ротация логов

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

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

В той же форме Администрирование → Настройка журнала регистрации задаётся, как дробить файлы журнала: например, по дням или по месяцам. В последовательном формате каждый период становится отдельным файлом .lgp. Это и есть встроенная ротация: старые файлы легко увидеть по имени и унести в архив.

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

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

Ротация средствами ОС

Для последовательного формата архивацию часто делают скриптом: файлы .lgp старше N дней пакуются и уносятся на другой диск. Пример для PowerShell:

$log = "C:\Program Files\1cv8\srvinfo\reg_1541\4f2a1c8e-0000-0000-0000-000000000000\1Cv8Log"
$dst = "E:\Archive\1Cv8Log\buh_main"
Get-ChildItem $log -Filter *.lgp |
  Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-90) } |
  ForEach-Object { Compress-Archive -Path $_.FullName -DestinationPath "$dst\$($_.BaseName).zip"; Remove-Item $_.FullName }

Никогда не трогайте 1Cv8.lgf — это словарь, без него .lgp не читаются. Не удаляйте текущий (последний по дате) файл .lgp: в него идёт запись. Для формата lgd скриптовая ротация не подходит, используйте «Сократить».

Если диск под srvinfo маленький

Каталог реестра можно перенести на другой диск: остановить службу, скопировать srvinfo, поправить параметр -d в командной строке службы и запустить её снова. Остановка обрывает сеансы, поэтому только в окно обслуживания. Альтернатива без смены -d — точка соединения NTFS (mklink /J) для папки 1Cv8Log конкретной базы. Этот вариант тоже делается при остановленной службе.

Как читать и разбирать записи журнала

Встроенный просмотр

Окно журнала одинаково в Конфигураторе (Администрирование → Журнал регистрации) и в «Предприятии». Главный инструмент — отбор: по периоду, пользователю, компьютеру, событию, метаданным, уровню важности, статусу транзакции.

Типовые сценарии:

  • 🔍 Кто удалил документ. Отбор по событию «Данные. Удаление» и по виду метаданных, например «Документ. Реализация товаров и услуг».
  • 🔐 Кто заходил в базу ночью. Событие «Сеанс. Начало», период 00:00–06:00.
  • 🧯 Почему упало обновление. Уровень «Ошибка», период — время обновления, событие из группы «Информационная база».

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

Выгрузка и программный разбор

Метод ВыгрузитьЖурналРегистрации(ИмяФайла, Отбор) выгружает записи в XML-файл, а ЗаписьЖурналаРегистрации() позволяет своим обработкам писать собственные события. Выгрузку удобно разбирать уже вне 1С, в Excel или скриптом.

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

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

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

Запись в журнал — дисковая операция на сервере 1С. При разумном уровне её не видно. Проблемы начинаются в трёх случаях.

СитуацияЧто происходитЧто сделать
Уровень «Все события» в базе с активным обменомКаждая запись объекта даёт событие, журнал растёт быстро, нагружается дискОставить «Ошибки, предупреждения и информация», «Все события» включать на время расследования
Журнал в формате lgd в несколько десятков ГБПросмотр и отборы тормозят, растёт время записиСократить журнал или перейти на последовательный формат
srvinfo на одном диске с базами СУБД и временными файламиКонкуренция за диск, на пике замедляются все базыВынести srvinfo или 1Cv8Log на отдельный диск

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

Частые вопросы администраторов

Можно ли хранить журнал регистрации в СУБД, а не в файлах?
Нет. В клиент-серверном варианте журнал регистрации всегда хранится в файлах на сервере 1С, в каталоге реестра кластера. В СУБД лежат только данные базы.
Что будет, если удалить папку 1Cv8Log?
При остановленной службе платформа создаст журнал заново, пустым. История событий пропадёт безвозвратно, если нет копии. Удалять папку при работающей службе нельзя.
Журнал пропал после переноса базы на другой сервер. Почему?
Выгрузка .dt и перенос базы в СУБД не включают журнал регистрации. Его нужно отдельно скопировать из папки 1Cv8Log старого сервера в папку базы с новым GUID.
Можно ли открыть журнал серверной базы, если сервер уже не работает?
Да. Разверните копию базы как файловую (например, из выгрузки .dt), замените её папку 1Cv8Log скопированной с сервера и откройте журнал. С той же конфигурацией объекты метаданных отобразятся по именам, а не идентификаторами.
Куда пишутся события, если база файловая, но опубликована на веб-сервере?
В папку 1Cv8Log рядом с файлом 1Cv8.1CD. Учётной записи веб-сервера нужны права на запись в эту папку, иначе события не попадут в журнал.