К статье
Практический материал

Администрирование · 11 мин

Как прочитать логи 1С и найти причину ошибки

Как открыть и прочитать логи 1С: журнал регистрации, технологический журнал, логи СУБД. Фильтры, типичные ошибки и порядок поиска причины сбоя.

Когда 1С «падает», зависает или выдаёт непонятную ошибку, первое, что нужно сделать, — посмотреть логи. В экосистеме 1С их три основных источника: журнал регистрации внутри информационной базы, технологический журнал на уровне платформы и логи СУБД для клиент-серверных вариантов работы. Каждый из них отвечает на свои вопросы, и умение быстро выбрать нужный источник экономит часы поиска.

Журнал регистрации показывает события прикладного уровня: кто и когда вошёл в систему, какие документы проводились, какие ошибки возникали у пользователей. Технологический журнал фиксирует низкоуровневые события платформы: запросы к базе, блокировки, аварийные завершения процессов. Логи SQL Server или PostgreSQL помогают, когда проблема на стороне СУБД.

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

Журнал регистрации: первый источник ответов

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

Каждая запись журнала содержит дату и время, уровень важности (информация, предупреждение, ошибка), имя пользователя, компьютер, тип события и текстовое описание. Именно колонка «Событие» — ключ к фильтрации: по ней видно, произошла ли ошибка проведения документа, отказ в доступе или фоновое задание завершилось сбоем.

Физически журнал хранится в каталоге информационной базы. В файловом варианте это подкаталог 1Cv8Log рядом с файлом базы, в клиент-серверном — каталог reg_1541 (или аналогичный по порту) в служебной директории кластера. Напрямую редактировать эти файлы нельзя — только просмотр штатными средствами.

Как фильтровать события и не утонуть в записях

В активно используемой базе журнал регистрации накапливает тысячи записей в день, поэтому читать его «лентой» бессмысленно. Нажмите кнопку «Отбор» и задайте условия: интервал дат вокруг момента сбоя (берите запас 10–15 минут до и после), уровень важности «Ошибка», конкретного пользователя, если жалоба пришла от него.

Полезные типовые отборы: событие «Данные. Ошибка выполнения» покажет сбои записи и проведения; «Доступ. Отказ в доступе» — попытки обращения к запрещённым объектам; «Фоновое задание. Ошибка выполнения» — упавшие регламентные операции. Если ищете, кто изменил документ, фильтруйте по событию «Данные. Изменение» с указанием представления объекта.

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

Как найти ошибку в журнале регистрации
  1. 1
    Уточните у пользователя точное время сбоя и текст сообщения на экране
  2. 2
    Откройте журнал регистрации и установите отбор по интервалу времени с запасом
  3. 3
    Добавьте отбор по уровню «Ошибка» и по пользователю, если он известен
  4. 4
    Откройте найденную запись и скопируйте полный текст ошибки с именем модуля
  5. 5
    Проверьте соседние записи в том же интервале — первопричина может быть на несколько минут раньше

Технологический журнал: когда журнала регистрации мало

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

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

В файле logcfg.xml задаются события для сбора (DBMSSQL, DBPOSTGRS, EXCP, TLOCK, TDEADLOCK, CALL, MEM и другие), глубина протоколирования и каталог выгрузки. После изменения файла сервер 1С нужно перезапустить, а клиентские приложения — перезапустить тоже, если сбор ведётся на стороне клиента.

xml
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1clogs" history="24">
    <event><eq property="name" value="EXCP"/></event>
    <event><eq property="name" value="TDEADLOCK"/></event>
    <property name="all"/>
  </log>
</config>

Параметр history задаёт срок хранения логов в часах — без него каталог разрастётся и забьёт диск. Текстовые файлы ТЖ имеют вид имяпроцесса_пид_дата.log и содержат записи вида «время-длительность,СОБЫТИЕ,свойства». Длительность указывается в микросекундах, что удобно для поиска «тяжёлых» операций.

Как читать записи технологического журнала

Записи ТЖ выглядят пугающе, но структура у них единообразная. Например, строка с событием DBMSSQL содержит текст SQL-запроса, длительность выполнения и контекст прикладного кода, из которого запрос вызван. Если запрос выполняется секунды — это кандидат на оптимизацию индексов или переписывание запроса в конфигурации.

Событие EXCP — исключение платформы. В его свойствах ищите поле Descr с описанием и стек вызовов. События TLOCK и TDEADLOCK фиксируют ожидания и взаимоблокировки: по ним видно, какие транзакции и какие таблицы конфликтуют. Если пользователи жалуются на «взаимоблокировку при проведении», именно TDEADLOCK покажет пару конфликтующих сеансов.

Для разбора больших файлов удобнее не читать их вручную, а фильтровать: штатными средствами поиска по имени события, скриптами PowerShell или специализированными инструментами разбора ТЖ. Ищите сначала события с наибольшей длительностью и все EXCP за проблемный период.

Типичные ошибки при чтении логов
01
Искать ошибку ровно в минуту сообщения пользователя — реальное время сбоя часто на 5–15 минут раньше, берите интервал с запасом
02
Включать технологический журнал без ограничения history и переполнять диск сервера
03
Читать только последнюю запись об ошибке и игнорировать предыдущие события, где находится первопричина
04
Пытаться править файлы журнала регистрации напрямую — это повреждает формат хранения
05
Судить о проблеме по одному событию TLOCK: единичные ожидания блокировок — норма, тревожны повторяющиеся длительные ожидания и TDEADLOCK

Логи СУБД и сервера 1С для клиент-серверного варианта

В клиент-серверной архитектуре часть проблем живёт ниже платформы. Microsoft SQL Server пишет журнал ошибок (ERRORLOG), где видны дедлоки на уровне СУБД, нехватка памяти, повреждения страниц данных. PostgreSQL протоколирует в свой лог медленные запросы и аварийные ситуации — настройка задаётся параметрами log_min_duration_statement и log_lock_waits.

Сам сервер 1С ведёт журнал кластера в служебном каталоге (например, srvinfo\reg_1541), а события службы агента сервера попадают в системный журнал Windows (Просмотр событий → Журналы Windows → Приложение). Если служба агента сервера неожиданно останавливается, причину ищите именно там, а не в журнале регистрации базы.

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

Маршрут решения

Как выбрать источник логов

Пользователь получил сообщение об ошибке в интерфейсеЖурнал регистрации: отбор по времени, пользователю и уровню «Ошибка»
Клиент или сервер аварийно завершается, появляются дампыТехнологический журнал: события EXCP и каталог dumps
Периодические взаимоблокировки при проведении документовТехнологический журнал: события TLOCK и TDEADLOCK, плюс лог СУБД
База «тормозит» без явных ошибокТехнологический журнал: DBMSSQL/DBPOSTGRS с сортировкой по длительности, затем лог медленных запросов СУБД
Служба сервера 1С не стартует или падаетПросмотр событий Windows и файлы в каталоге srvinfo кластера

Как проверить, что причина найдена верно

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

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

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

Контрольные точки

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

Текст ошибки в логе
Норма

Совпадает с сообщением, которое видел пользователь

Тревожный признак

Другая ошибка — вы нашли соседний сбой, ищите дальше

Повторное воспроизведение
Норма

Ошибка повторяется с тем же текстом и в том же контексте

Тревожный признак

Ошибка не воспроизводится — возможно, причина во внешнем факторе (сеть, СУБД)

Длительность запросов после исправления
Норма

Тяжёлые события DBMSSQL по проблемной таблице исчезли

Тревожный признак

Длительность не изменилась — оптимизирован не тот запрос

Диск с логами технологического журнала
Норма

Объём стабилен, rotation по history работает

Тревожный признак

Каталог растёт без ограничений — срочно ограничьте сбор

Частые вопросы о чтении логов 1С

Можно ли посмотреть, кто удалил документ?

Да, если в журнале регистрации ведутся события данных. Откройте журнал, установите отбор по событию «Данные. Удаление» и по представлению объекта. В записи будут пользователь, время и компьютер. Учтите: если уровень регистрации событий данных снижен в настройках журнала, такие записи могут отсутствовать.

Журнал регистрации пустой или обрывается — что делать?

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

Где лежит технологический журнал по умолчанию?

Без файла logcfg.xml платформа пишет только дампы аварийных завершений в подкаталог dumps каталога временных файлов (обычно внутри профиля пользователя или каталога srvinfo на сервере). Полноценный лог появляется только после создания logcfg.xml с указанием каталога выгрузки и перезапуска процессов.

Как долго хранить логи?

Журнал регистрации хранится бессрочно, пока его не сократят вручную («Администрирование → Настройка журнала регистрации → Сократить») — на больших базах его периодически обрезают, чтобы не раздувать базу. Для технологического журнала срок задаётся параметром history в logcfg.xml; на практике достаточно 24–72 часов, если нет расследования инцидента.

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

Это обычные текстовые файлы — подойдёт любой редактор, устойчивый к большим файлам (Notepad++, Far). Для систематического разбора удобнее скрипты фильтрации по имени события и длительности или специализированные утилиты разбора ТЖ, поскольку файлы могут достигать гигабайт.

Опасно ли включать технологический журнал на рабочей базе?

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

Итог

Что важно запомнить

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