Где искать следы сбоя в 1С 8.3: журнал регистрации и технологический журнал
Содержание
Журнал регистрации в 1С 8.3 открывается из пользовательского режима: в БП 3.0, ЗУП 3.1 и УТ 11 это Администрирование → Обслуживание, ссылка «Журнал регистрации». Он отвечает на вопросы «кто, когда и что сделал». Если нужно понять, почему упал сервер, тормозит запрос или ловится взаимоблокировка, смотрите уже технологический журнал: его включают файлом logcfg.xml на сервере 1С.
Типичная ситуация: утром бухгалтер звонит — пропал вчерашний акт, а обмен с сайтом ночью завершился ошибкой. Первое ответит журнал регистрации за две минуты. Со вторым он покажет только текст ошибки, а детали придётся добывать из технологического журнала. Ниже оба инструмента по порядку: как смотреть, как фильтровать события, как настраивать и анализировать.
Как открыть журнал регистрации в 1С
Журнал есть в любой конфигурации на платформе 8.3, разница только в пути к нему.
| Где | Путь |
|---|---|
| БП 3.0, ЗУП 3.1, УТ 11, КА, ERP | Администрирование → Обслуживание → ссылка «Журнал регистрации» |
| Любая конфигурация | Сервис и настройки (меню-гамбургер) → Функции для технического специалиста → Стандартные → Журнал регистрации |
| Конфигуратор | Администрирование → Журнал регистрации |
Команда «Функции для технического специалиста» видна, только если включена в Сервис и настройки → Параметры. Флажок так и называется. После установки перезапуск клиента не нужен.
Журнал регистрации видят только пользователи с правами администратора. Если ссылки нет в разделе — проверьте роли, а не ищите её в другом меню.
В самой форме журнала полезно сразу проверить период в шапке: по умолчанию показываются последние события, а не весь архив.
Окно журнала регистрации: что означают колонки
Журнал — это таблица событий, по умолчанию новые сверху. Каждая строка — одно событие сеанса.
- 🕒 Дата — время по часам сервера (в файловой базе — по часам компьютера, где лежит база).
- 🚦 Уровень — значок: ошибка (красный), предупреждение (жёлтый), информация, примечание.
- 👤 Пользователь и Компьютер — кто и откуда работал.
- 🧩 Приложение — тонкий клиент, веб-клиент, Конфигуратор, фоновое задание, COM-соединение.
- 📌 Событие — тип действия:
Сеанс. Начало,Данные. Изменение,Данные. Удаление,Данные. Проведение,Сеанс. Ошибка аутентификациии другие. - 🗂 Метаданные и Данные — какой объект затронут: вид документа и конкретный документ.
- 💬 Комментарий — сюда платформа и программисты пишут текст ошибки и подробности.
Двойной щелчок по строке открывает карточку события. В ней комментарий виден целиком, со всем стеком вызова. Именно там лежит полезное: модуль, номер строки и исходный текст ошибки, например Ошибка при вызове метода контекста (Записать).
Ещё два поля в карточке пригодятся при разборе: Сеанс (номер сеанса) и Транзакция (статус: зафиксирована, отменена). Отменённая транзакция означает, что изменение в базу так и не попало, хотя событие записано.
Отборы и группировка событий в журнале
Без отбора журнал за месяц у базы на 20 пользователей — сотни тысяч строк. Поэтому работа с ним всегда начинается с команды Установить отбор.
Что задают чаще всего:
- Период. Чем уже, тем быстрее откроется. Начинайте с часа вокруг сбоя.
- Уровень. Для поиска ошибок оставьте только «Ошибка», затем добавьте «Предупреждение».
- Пользователи и Компьютеры — если жалуется конкретный человек.
- События. Для поиска удалённого документа —
Данные. Удаление, для пометки на удаление —Данные. Изменение; для проблем со входом — события группы «Сеанс». - Метаданные. Например, только документ «Реализация (акт, накладная, УПД)».
- Данные — конкретный объект, если он ещё существует.
- Комментарий — поиск по подстроке текста ошибки.
В БСП-форме журнала есть ограничение на число выводимых событий (по умолчанию несколько сотен). Если нужного события «нет», увеличьте лимит в шапке формы или сузьте период.
Группировать строки прямо в окне журнала нельзя. Есть два рабочих способа увидеть картину «какая ошибка повторяется чаще всего»:
- 📊 Отчёты администратора в разделе
Администрирование → Обслуживание. В типовых конфигурациях там есть отчёт по контролю журнала регистрации: он сводит ошибки и предупреждения за период по видам событий и тексту. - 📋 Выгрузка списка в табличный документ (
Ещё → Вывести список) и сводная таблица в 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С строит по ТЖ отчёты о самых долгих запросах и блокировках.
Как выгрузить журнал регистрации
- Для разовой выгрузки установите отбор и выполните
Ещё → Вывести список. Табличный документ сохраняется в xlsx. - Программно — методом
ВыгрузитьЖурналРегистрации(), который выгружает события в таблицу значений или файл с отбором. Так строят свои отчёты и пересылку ошибок в мониторинг.
Пример: последние ошибки за сутки в таблицу значений.
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", ТекущаяДата() - 86400);
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
События = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(События, Отбор);
Для Каждого Строка Из События Цикл
Сообщить(Строка(Строка.Дата) + " | " + Строка.Событие + " | " + Строка.Комментарий);
КонецЦикла;
Код выполняется на сервере и требует административных прав. Свои события в журнал пишут методом ЗаписьЖурналаРегистрации() — удобно для логирования обработок и обменов.