Где искать следы сбоя в 1С 8.3: журнал регистрации и технологический журнал

· 9 мин

Содержание

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

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

Как открыть журнал регистрации в 1С

Журнал есть в любой конфигурации на платформе 8.3, разница только в пути к нему.

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

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

Журнал регистрации видят только пользователи с правами администратора. Если ссылки нет в разделе — проверьте роли, а не ищите её в другом меню.

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

Окно журнала регистрации: что означают колонки

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

  • 🕒 Дата — время по часам сервера (в файловой базе — по часам компьютера, где лежит база).
  • 🚦 Уровень — значок: ошибка (красный), предупреждение (жёлтый), информация, примечание.
  • 👤 Пользователь и Компьютер — кто и откуда работал.
  • 🧩 Приложение — тонкий клиент, веб-клиент, Конфигуратор, фоновое задание, COM-соединение.
  • 📌 Событие — тип действия: Сеанс. Начало, Данные. Изменение, Данные. Удаление, Данные. Проведение, Сеанс. Ошибка аутентификации и другие.
  • 🗂 Метаданные и Данные — какой объект затронут: вид документа и конкретный документ.
  • 💬 Комментарий — сюда платформа и программисты пишут текст ошибки и подробности.

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

Ещё два поля в карточке пригодятся при разборе: Сеанс (номер сеанса) и Транзакция (статус: зафиксирована, отменена). Отменённая транзакция означает, что изменение в базу так и не попало, хотя событие записано.

Отборы и группировка событий в журнале

Без отбора журнал за месяц у базы на 20 пользователей — сотни тысяч строк. Поэтому работа с ним всегда начинается с команды Установить отбор.

Что задают чаще всего:

  1. Период. Чем уже, тем быстрее откроется. Начинайте с часа вокруг сбоя.
  2. Уровень. Для поиска ошибок оставьте только «Ошибка», затем добавьте «Предупреждение».
  3. Пользователи и Компьютеры — если жалуется конкретный человек.
  4. События. Для поиска удалённого документа — Данные. Удаление, для пометки на удаление — Данные. Изменение; для проблем со входом — события группы «Сеанс».
  5. Метаданные. Например, только документ «Реализация (акт, накладная, УПД)».
  6. Данные — конкретный объект, если он ещё существует.
  7. Комментарий — поиск по подстроке текста ошибки.

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

Группировать строки прямо в окне журнала нельзя. Есть два рабочих способа увидеть картину «какая ошибка повторяется чаще всего»:

  • 📊 Отчёты администратора в разделе Администрирование → Обслуживание. В типовых конфигурациях там есть отчёт по контролю журнала регистрации: он сводит ошибки и предупреждения за период по видам событий и тексту.
  • 📋 Выгрузка списка в табличный документ (Ещё → Вывести список) и сводная таблица в Excel по колонкам «Событие» и «Комментарий».

Как найти причину ошибки по журналу регистрации

Алгоритм разбора одинаков для любой жалобы: время → пользователь → событие → комментарий.

Кто удалил или изменил документ

Поставьте отбор по событиям Данные. Удаление или Данные. Изменение и по виду документа. В колонке «Представление данных» останется номер и дата документа даже после его удаления. Пользователь и компьютер — в той же строке.

Если документ сначала помечен на удаление, а потом удалён обработкой удаления помеченных объектов, ищите обе записи. Изменение с установкой пометки покажет, кто её ставил. Удаление — кто запускал обработку.

Почему не прошло регламентное задание или обмен

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

Пользователь не может войти

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

Ошибка есть, но непонятна

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

Какой журнал вам нужен?

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

Уровень детализации и очистка журнала задаются в Конфигураторе: Администрирование → Настройка журнала регистрации.

Доступные уровни:

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

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

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

Где лежат файлы журнала:

  • 📁 Файловая база — подкаталог 1Cv8Log в каталоге базы.
  • 🖥 Клиент-серверная — на сервере 1С: ...\srvinfo\reg_1541\<GUID базы>\1Cv8Log.

Расширения файлов показывают формат. .lgf и .lgp — последовательный текстовый формат. 1Cv8.lgd — формат на SQLite, появился в 8.3.5. Последовательный быстрее пишется и проще для внешних анализаторов, SQLite удобнее для отборов.

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

Технологический журнал 1С: как включить и настроить

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

По умолчанию ТЖ выключен. Включается он файлом logcfg.xml в каталоге conf платформы. Обычно это C:\Program Files\1cv8\conf\ (общий для всех версий) или bin\conf конкретной версии. Файл кладут на ту машину, процессы которой надо логировать: на сервер 1С для rphost, на компьютер пользователя для клиента.

Платформа перечитывает logcfg.xml примерно раз в минуту. Перезапускать службу не нужно.

Конфигурация для поиска ошибок

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

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\v8logs\errors" history="48">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>
  • location — каталог для логов. Отдельный диск, не системный.
  • history — сколько часов хранить файлы. 48 означает двое суток.
  • <event> — фильтр. Условия внутри одного <event> объединяются через «И», несколько блоков <event> — через «ИЛИ».

Конфигурация для долгих запросов и блокировок

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\v8logs\perf" history="12">
    <event>
      <eq property="name" value="DBMSSQL"/>
      <ge property="duration" value="1000000"/>
    </event>
    <event>
      <eq property="name" value="TLOCK"/>
    </event>
    <event>
      <eq property="name" value="TTIMEOUT"/>
    </event>
    <event>
      <eq property="name" value="TDEADLOCK"/>
    </event>
    <property name="all"/>
  </log>
</config>

Длительность в 8.3 указывается в микросекундах, поэтому 1000000 — запросы дольше секунды. Для PostgreSQL вместо DBMSSQL подставьте DBPOSTGRS.

Основные события ТЖ:

СобытиеЧто фиксирует
EXCPИсключения, аварийные ошибки
CALL, SCALLСерверные вызовы, их длительность
DBMSSQL, DBPOSTGRSЗапросы к СУБД
TLOCK, TTIMEOUT, TDEADLOCKУправляемые блокировки, таймауты, взаимоблокировки
PROCСтарт и завершение процессов
CONNУстановка и разрыв соединений

Не оставляйте на рабочем сервере logcfg.xml с событиями без фильтра. Логи вида «всё и всем» дают гигабайты в час и сами начинают тормозить систему. Включили, поймали проблему — удалили файл или сократили фильтр.

Анализ и выгрузка логов: файлы ТЖ и журнал регистрации

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

В каталоге location платформа создаёт подкаталоги по процессам: rphost_4120, rmngr_3080, ragent_2964. В каждом — файлы по часам с именем вида 26100714.log (год, месяц, день, час).

Строка события выглядит так:

23:41.123456-0,EXCP,1,process=rphost,OSThread=5120,Exception=...,Descr='Ошибка СУБД: ...'

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

Быстрый поиск без сторонних программ — PowerShell:

Select-String -Path "D:\v8logs\errors\*\*.log" -Pattern ",EXCP," |
  Select-Object -Last 50

Для систематического разбора используют специализированные средства. Например, «Центр управления производительностью» из «Корпоративного инструментального пакета» 1С строит по ТЖ отчёты о самых долгих запросах и блокировках.

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

  1. Для разовой выгрузки установите отбор и выполните Ещё → Вывести список. Табличный документ сохраняется в xlsx.
  2. Программно — методом ВыгрузитьЖурналРегистрации(), который выгружает события в таблицу значений или файл с отбором. Так строят свои отчёты и пересылку ошибок в мониторинг.

Пример: последние ошибки за сутки в таблицу значений.

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

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

Для Каждого Строка Из События Цикл
    Сообщить(Строка(Строка.Дата) + " | " + Строка.Событие + " | " + Строка.Комментарий);
КонецЦикла;

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

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

Сколько хранится журнал регистрации?
Бессрочно, пока его не сократят вручную. Объём ограничен только диском, поэтому в больших базах журнал чистят раз в квартал или год с сохранением в архивный файл.
Почему в журнале время не совпадает с моим?
Время пишется по часам сервера 1С, а в файловой базе — по часам компьютера с базой. Если они в другом часовом поясе или отстают, разница видна во всех событиях.
Можно ли смотреть журнал регистрации без Конфигуратора?
Да. Достаточно роли администратора в пользовательском режиме: журнал открывается из раздела «Администрирование» или через «Функции для технического специалиста».
Можно ли включить технологический журнал только для одной базы?
Да, фильтром по свойству базы в блоке event, например условием на свойство p:processName с именем базы на сервере. Так логи остальных баз не засоряют каталог.
Технологический журнал замедляет работу?
Узкий фильтр (только EXCP или запросы дольше секунды) на производительности почти не сказывается. Заметно тормозит только логирование всех событий подряд.