Логи 1С на диске и в программе: как найти, включить и прочитать

· 9 мин

Содержание

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

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

Два вида логов 1С и что в каждом искать

У платформы два независимых журнала. Они отвечают на разные вопросы, и путать их не стоит.

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

Журнал регистрации отвечает на вопрос «кто и когда». Кто провёл документ, кто удалил контрагента, у кого вылетела ошибка при обновлении.

Технологический журнал отвечает на вопрос «почему». Почему тормозит проведение, какой запрос держит блокировку, на каком вызове упал рабочий процесс.

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

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

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

Уровни идут по нарастанию подробности:

  • 🚫 Не записывать — журнал не ведётся. В рабочей базе так оставлять нельзя.
  • ❗ Ошибки — только ошибки.
  • ⚠️ Предупреждения — ошибки и предупреждения.
  • ℹ️ Информация — плюс информационные события: вход, выход.
  • 📝 Примечания — максимальный уровень, пишется всё, включая изменения данных.

Для разбора «кто изменил документ» нужен уровень «Примечания». Именно на нём фиксируются события записи и удаления объектов.

Деление по периодам (по дням, неделям, месяцам) не меняет объём данных, но режет журнал на отдельные файлы. Старые периоды потом проще архивировать или удалить, не трогая текущий.

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

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

Путь зависит от режима работы базы. Ниже — точные места для типовой установки 8.3.

Файловая база

Откройте каталог базы. Путь к нему виден в окне запуска 1С внизу, когда база выделена в списке. Внутри будет подпапка 1Cv8Log.

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

Клиент-серверная база на Windows

Журнал хранится у кластера, в каталоге службы сервера. При установке службы по умолчанию это:

C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log\

Если служба ставилась с другим каталогом, путь задан в её параметрах запуска (ключ -d). Посмотреть его можно в свойствах службы «Агент сервера 1С:Предприятия 8.3» в оснастке services.msc.

Клиент-серверная база на Linux

У сервера 1С под Linux каталог кластера по умолчанию лежит в домашней папке пользователя службы:

/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log/

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

Папок с GUID в reg_1541 столько, сколько баз в кластере. Чтобы найти свою:

  1. Откройте файл 1CV8Clst.lst в каталоге reg_1541 любым текстовым редактором. Только на чтение, ничего не сохраняйте.
  2. Найдите в нём имя базы, как оно задано в кластере.
  3. Рядом с именем стоит GUID. Это и есть имя папки.

Второй способ — открыть свойства базы в консоли администрирования серверов. Но GUID там показывается не во всех версиях консоли, поэтому файл списка надёжнее.

Не редактируйте 1CV8Clst.lst и не переименовывайте папки с GUID при работающей службе. Это реестр кластера: испорченный файл оставит без доступа все базы сервера.

Форматы файлов

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

Формат журнала меняют в том же окне настройки в Конфигураторе. При смене платформа преобразует существующие записи. На большом журнале это занимает время, делайте это вне рабочих часов.

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

Открывать файлы .lgp блокнотом бессмысленно: там коды вместо имён. Читайте журнал средствами 1С.

Где открыть журнал:

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

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

Отбор записей

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

  • 📅 интервал дат;
  • 👤 пользователь и компьютер;
  • 🧩 приложение (тонкий клиент, Конфигуратор, фоновое задание, COM-соединение);
  • 🏷️ событие: например, «Данные. Изменение», «Данные. Удаление», «Сеанс. Начало»;
  • 📂 метаданные — вид объекта, например «Документ. Реализация товаров и услуг»;
  • ❗ важность: ошибка, предупреждение, информация, примечание;
  • 💬 комментарий и представление данных.

Мини-кейс: кто удалил контрагента

Пропал контрагент «Ромашка ООО», а в корзине его нет — значит, удалили непосредственно, без пометки.

  1. Откройте журнал и задайте интервал: последние две недели.
  2. В отборе по событию выберите «Данные. Удаление».
  3. В метаданных отметьте справочник «Контрагенты».
  4. В найденной строке смотрите колонки «Пользователь», «Компьютер» и «Дата».

Если записи нет, проверьте уровень журнала. На уровне «Ошибки» удаление не фиксируется, и восстановить картину по журналу уже не получится.

Двойной щелчок по строке открывает её целиком: там видны данные объекта, номер сеанса и статус транзакции. Транзакция «Отменена» значит, что изменение в базу не попало, хотя попытка была.

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

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

  • Windows: C:\Program Files\1cv8\conf\logcfg.xml;
  • Linux: /opt/1cv8/conf/logcfg.xml.

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

Минимальная настройка: писать только исключения и хранить логи сутки.

<?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>
</config>

Здесь location — куда писать, history — сколько часов хранить файлы. Старые платформа удаляет сама.

Какие события включать под задачу:

ЗадачаСобытия
Падает ошибка, нужна причинаEXCP
Тормозят запросыDBMSSQL или DBPOSTGRS (по вашей СУБД)
Ошибки блокировок, взаимоблокировкиTLOCK, TTIMEOUT, TDEADLOCK
Медленные вызовы сервераCALL, SCALL
Проблемы соединенияCONN

Внутри location платформа создаёт папку на каждый процесс: rphost_4120, rmngr_3876, ragent_2944, 1cv8c_7712. Число — идентификатор процесса. В папке лежат файлы по часам с именами вида 26100714.log: год, месяц, день и час.

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

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

Чем отличаются логи в файловом и клиент-серверном режиме

Здесь кроется большинство «журнал пустой» и «логов нет».

ВопросФайловый режимКлиент-серверный режим
Где журнал регистрации1Cv8Log в каталоге базыsrvinfo\reg_1541\<GUID>\1Cv8Log на сервере
Кто пишет журналПроцесс 1С на компьютере, открывшем базуРабочий процесс кластера
Где действует logcfg.xmlНа каждом компьютере, где запускают 1СНа сервере 1С (и отдельно на клиенте, если нужны клиентские события)
Процессы в техжурнале1cv8c, 1cv8rphost, rmngr, ragent

Для файловой базы в сетевой папке есть нюанс. Записи в журнал делает каждый компьютер, работающий с базой. Если у одного из них нет прав на запись в 1Cv8Log, его действия в журнале пропадут.

Для серверной базы logcfg.xml на компьютере бухгалтера ничего не скажет о запросах к СУБД. Их выполняет рабочий процесс на сервере, и техжурнал надо включать там.

Автоматический сбор и разбор логов

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

Выгрузка журнала из кода

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

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

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

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

    Для Каждого Строка Из Записи Цикл
        Сообщить(СтрШаблон("%1 | %2 | %3",
            Строка.Дата, Строка.ИмяПользователя, Строка.Комментарий));
    КонецЦикла;

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

Такую процедуру вешают на регламентное задание и отправляют итог администратору почтой. Свои события программист пишет методом ЗаписьЖурналаРегистрации — тогда в журнале видно и работу доработок.

Поиск по техжурналу без специальных программ

Файлы техжурнала — обычный текст. Ошибки за сутки по всем рабочим процессам находит PowerShell:

Select-String -Path "D:\1C_TechLog\rphost_*\*.log" -Pattern ",EXCP," |
    Select-Object -First 50

На Linux то же делает grep -r ",EXCP," /var/log/1c/techlog/ (подставьте свой location).

Для больших объёмов техжурнал отправляют в системы сбора логов: стек Elastic, Graylog, ClickHouse. Там строят графики длительных запросов и блокировок. Это оправдано на серверах с десятками пользователей и постоянными жалобами на скорость.

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

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

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

Можно ли скопировать журнал регистрации на другой компьютер и посмотреть там?
Да. Скопируйте папку 1Cv8Log целиком, вместе с файлом .lgf или .lgd. Проще всего положить её в каталог любой пустой файловой базы вместо родной папки 1Cv8Log и открыть журнал там. Для файлов формата .lgd подойдёт и любой просмотрщик SQLite.
Сохраняется ли журнал регистрации при выгрузке базы в .dt?
Нет. Файл .dt содержит конфигурацию и данные, но не журнал. Если журнал нужен, копируйте папку 1Cv8Log отдельно.
Сколько места занимает журнал регистрации?
Зависит от уровня и активности. В базе на 10–20 пользователей с уровнем «Примечания» журнал за год вырастает до нескольких гигабайт. Деление по периодам и сокращение старых записей держат объём под контролем.
Видно ли в журнале, какие именно поля изменили в документе?
Платформа пишет сам факт изменения и ссылку на объект. Значения «было — стало» по полям показывает только версионирование объектов, если оно включено в конфигурации на БСП.
Ведёт ли журнал регистрации учебная версия 1С?
Да, в учебной версии журнал работает так же, в папке 1Cv8Log каталога базы.