Логи 1С на диске: журнал регистрации, техжурнал и дампы — что где лежит

· 9 мин

Содержание

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

Это главный лог 1С: в него платформа пишет входы пользователей, изменения данных, ошибки и события регламентных заданий. Кроме него у 1С есть ещё два вида логов — технологический журнал и дампы аварийных завершений. Их по умолчанию нет, их включают вручную, и лежат они там, куда укажет администратор.

Какие логи ведёт 1С и чем они отличаются

У платформы 1С:Предприятие 8.3 три источника диагностики. Путают их постоянно, поэтому сначала разведём понятия.

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

Журнал регистрации — это то, что бухгалтер видит в программе, а администратор открывает из конфигуратора. Он привязан к конкретной информационной базе. У каждой базы свой журнал.

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

Дампы — последний рубеж. Их анализируют, когда процесс 1cv8c.exe, 1cv8.exe или rphost.exe аварийно завершился.

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

Платформа поддерживает два формата хранения. Определить формат проще всего по расширениям файлов в папке 1Cv8Log.

  • 📄 Последовательный формат. Файл 1Cv8.lgf — справочник пользователей , компьютеров, объектов метаданных. Файлы вида 20261007000000.lgp — сами записи, по одному на период. Рядом могут лежать индексные файлы .lgx.
  • 🗄️ Формат SQLite. Один файл 1Cv8.lgd — база данных SQLite со всеми записями.

Файлы .lgp — обычный текст в кодировке UTF-8, но читать их глазами неудобно: вместо имён пользователей там номера из 1Cv8.lgf. Файл .lgd открывается любым клиентом SQLite.

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

Где найти журнал регистрации файловой базы

В файловом варианте всё просто: журнал лежит внутри каталога базы.

  1. Откройте окно запуска 1С.
  2. Выделите базу. Внизу окна показан путь вида File="D:\Bases\Buh".
  3. Перейдите в этот каталог в проводнике.
  4. Откройте папку 1Cv8Log.

Итоговый путь будет таким:

D:\Bases\Buh\1Cv8.1CD
D:\Bases\Buh\1Cv8Log\1Cv8.lgf
D:\Bases\Buh\1Cv8Log\20261001000000.lgp

Перенести журнал файловой базы в другое место средствами 1С нельзя. Папка 1Cv8Log всегда рядом с 1Cv8.1CD. Если копируете базу целиком, журнал переедет вместе с ней.

Копия базы без папки 1Cv8Log рабочая, но без истории. Для расследований — кто и когда удалил документ — копируйте каталог целиком.

Где лежат логи серверной базы 1С

На сервере журнал хранится в каталоге кластера. Каталог задаётся при установке службы агента сервера (ragent) параметром -d. Если его не меняли, пути такие.

СистемаКаталог кластера по умолчанию
WindowsC:\Program Files\1cv8\srvinfo\reg_1541\
Linux/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/

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

Внутри reg_1541 — по папке на каждую информационную базу. Имена папок — это GUID (уникальный идентификатор) базы, а не её имя. Журнал регистрации лежит во вложенной 1Cv8Log:

C:\Program Files\1cv8\srvinfo\reg_1541\5a3c1f0e-...-9b7d\1Cv8Log\

Как понять, какая папка относится к нужной базе

Есть три способа, от простого к надёжному:

  1. 🔎 По дате изменения. Отсортируйте папки по дате и откройте 1Cv8Log той, что менялась только что, пока пользователи работают в нужной базе. Подходит, если баз немного.
  2. 📋 Через файл реестра кластера. В каталоге reg_1541 лежит 1CV8Clst.lst. Это текстовый файл: найдите в нём имя базы, рядом будет её GUID.
  3. 🖥️ Через утилиту rac. Команда выводит список баз с идентификаторами:
rac cluster list
rac infobase summary list --cluster=<id кластера>

Поле infobase в ответе и есть GUID — он совпадает с именем папки.

Как перенести логи сервера на другой диск

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

  1. Предупредите пользователей: при остановке службы все сеансы оборвутся. Делайте это вне рабочего времени.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3».
  3. Перенесите папку 1Cv8Log на другой диск, например в E:\1CLogs\Buh\1Cv8Log.
  4. Создайте на старом месте точку соединения:
mklink /J "C:\Program Files\1cv8\srvinfo\reg_1541\<GUID>\1Cv8Log" "E:\1CLogs\Buh\1Cv8Log"
  1. Запустите службу и проверьте, что в журнал пишутся новые события.

Учётной записи, от которой работает служба (по умолчанию USR1CV8), нужны права на запись в новую папку. Без них журнал перестанет пополняться.

Технологический журнал и файлы отладки на клиенте

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

Где создать logcfg.xml

Технологический журнал управляется файлом logcfg.xml. Платформа ищет его в каталоге conf:

  • C:\Program Files\1cv8\conf\ — общий для всех установленных версий;
  • C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\ — для конкретной версии.

На сервере файл кладут туда же, на машину, где работают рабочие процессы. На клиентском компьютере — в каталог платформы клиента. Перезапуск не нужен: платформа перечитывает файл примерно раз в минуту.

Минимальная настройка — собирать только исключения и дампы:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1C_TechLog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
  <dump create="1" location="D:\1C_Dumps"/>
</config>

Здесь history="24" — хранить файлы за последние 24 часа, старые платформа удалит сама.

Как выглядят файлы технологического журнала

В каталоге из параметра location появятся подпапки по процессам: rphost_4120, 1cv8c_7744, ragent_2280. Цифры — идентификатор процесса. Внутри — файлы по часам с именами вида 26100714.log: год, месяц, день, час.

Не оставляйте технологический журнал с фильтром «всё подряд» на рабочем сервере. За час он может записать гигабайты и заполнить диск. Включайте узкий фильтр на время диагностики, потом удаляйте logcfg.xml или убирайте из него секцию <log>.

Дампы и вывод пакетного режима

  • 💥 Дампы. Если секция <dump> задана, файлы .dmp ложатся в указанную папку. Без неё клиентские дампы обычно оказываются в профиле пользователя, в папке dumps внутри каталога 1C\1cv8 в AppData.
  • 📝 Пакетный режим. При запуске конфигуратора из командной строки ключ /Out пишет сообщения в текстовый файл. Это лог выгрузок и обновлений по расписанию:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Админ" /DumpIB"E:\Backup\buh.dt" /Out"E:\Backup\dump.log"

Как читать журнал регистрации и отфильтровать нужные события

Открывать файлы .lgp блокнотом бессмысленно. Журнал читают из 1С — там данные уже расшифрованы и есть отборы.

ОткудаПуть
КонфигураторАдминистрирование → Журнал регистрации
БП 3.0, ЗУП 3.1, УТ 11Администрирование → Обслуживание → Журнал регистрации
Любая конфигурацияГлавное меню → Функции для технического специалиста → Стандартные → Журнал регистрации

Пункт «Функции для технического специалиста» включается в параметрах программы (Сервис → Параметры, флажок с тем же названием).

Какие отборы ставить

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

  • 📅 Период — день или час, когда случилась проблема;
  • 🔴 Уровень — «Ошибка» для сбоев, «Информация» для действий пользователей;
  • 👤 Пользователь — если знаете, кто работал;
  • 🧾 Данные — конкретный документ или элемент справочника, чтобы увидеть всю его историю;
  • 🏷️ Событие — например, Данные. Удаление или Сеанс. Начало.

Типовые расследования выглядят так:

ВопросОтбор
Кто удалил документСобытие «Данные. Удаление», нужный период
Кто менял проведённый документОтбор по полю «Данные» на этот документ
Почему не отработало регламентное заданиеУровень «Ошибка», событие с «Регламентное задание» в названии
Кто заходил в базу ночьюСобытие «Сеанс. Начало», период с 00:00 до 06:00

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

Как настроить, что пишется в журнал

В конфигураторе откройте Администрирование → Настройка журнала регистрации. Там выбирают уровень: от «Не регистрировать» и «Регистрировать ошибки» до «Регистрировать все события». Там же задают разделение журнала по периодам.

Для рабочих баз оставляйте «Регистрировать все события». Если поставить «Не регистрировать», журнал перестанет пополняться и расследовать будет нечего.

Автоматическая выгрузка и мониторинг журнала

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

Выгрузка кодом

Метод платформы ВыгрузитьЖурналРегистрации() отдаёт записи в таблицу значений с учётом отбора. Пример для регламентного задания или обработки — ошибки за последние сутки:

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

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

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

Вместо Сообщить() записи можно отправлять на почту администратору или во внешнюю систему мониторинга. Код выполняется на сервере и требует административных прав.

Свои события конфигурация пишет методом ЗаписьЖурналаРегистрации():

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

Внешние инструменты

  • 📊 Журнал в формате SQLite (1Cv8.lgd) читают SQL-запросами. Работайте с копией файла: открытый внешней программой рабочий журнал может блокировать запись.
  • 📦 Последовательный формат разбирают парсерами .lgp и отправляют в системы сбора логов (ELK, ClickHouse). Готовые парсеры есть в открытом доступе.
  • 🛠️ Для технологического журнала у фирмы 1С есть «Корпоративный инструментальный пакет» — он собирает и анализирует техжурнал централизованно.

Частые проблемы с журналом регистрации

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

Не удаляйте папку 1Cv8Log целиком ради свободного места. История действий пропадёт безвозвратно, а в спорной ситуации, например при проверке, кто провёл документ задним числом, доказывать будет нечем. Сначала сократите журнал с сохранением в файл.

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

Можно ли открыть журнал регистрации без запуска 1С?
Да, но неудобно. Файл 1Cv8.lgd открывается любым клиентом SQLite, файлы .lgp — текстовым редактором. Имена пользователей и объектов в .lgp заменены номерами, расшифровка — в 1Cv8.lgf.
Входит ли журнал регистрации в выгрузку .dt?
Нет. Файл .dt содержит данные и конфигурацию, но не журнал. Чтобы сохранить историю, копируйте папку 1Cv8Log отдельно.
Сколько места занимает журнал регистрации?
Зависит от числа пользователей и уровня регистрации. У базы на 20-30 пользователей журнал за год легко дорастает до нескольких гигабайт, у крупных баз — до десятков.
Можно ли запретить пользователю смотреть журнал?
Да. Доступ к журналу даёт право «Журнал регистрации» в ролях. В типовых конфигурациях он есть у администраторов; у остальных профилей его обычно нет.
Пишет ли 1С что-то в журнал событий Windows?
Да, служба агента сервера пишет в системный журнал «Приложение» сообщения о запуске, остановке и сбоях. Это полезно, когда служба не стартует и до журнала регистрации дело не доходит.