Администрирование · 10 мин
Как включить технологический журнал 1С
Пошаговая инструкция по включению технологического журнала 1С: создание logcfg.xml, настройка событий, каталогов, проверка результата и типичные ошибки.
Технологический журнал (ТЖ) — это встроенный механизм протоколирования платформы «1С:Предприятие», который фиксирует события работы сервера, клиентских приложений и веб-сервисов: запросы к СУБД, длительные операции, взаимоблокировки, ошибки, вызовы внешних компонент. В отличие от журнала регистрации, ТЖ пишется на уровне платформы и не зависит от кода конфигурации, поэтому именно его используют для диагностики аварийных завершений, медленных запросов и блокировок.
Механизм включается не в интерфейсе 1С, а через конфигурационный файл logcfg.xml, который платформа читает при запуске процессов. Пока файла нет или он пуст, журнал не пишется либо пишется только аварийный дамп. Ниже разобрано, где разместить файл, какие события включить, как проверить, что журнал заработал, и какие ошибки встречаются чаще всего.
Что такое технологический журнал и когда он нужен
Технологический журнал представляет собой набор текстовых файлов, в которые платформа записывает события с точными метками времени, длительностью и контекстом. Каждый процесс 1С (ragent, rphost, rmngr, клиентские приложения) пишет свой файл, имя которого содержит имя процесса и его PID, поэтому записи разных процессов не перемешиваются.
Включать ТЖ имеет смысл при конкретных задачах: расследовании аварийного завершения рабочих процессов, поиске причин медленной работы (события DBMSSQL, DBPOSTGRS, DBORACLE с длительностью запросов), анализе взаимоблокировок (TDEADLOCK, TLOCK), ошибок соединений и вызовов внешних компонент. Постоянно держать журнал включённым «на всякий случай» с полным набором событий не рекомендуется: объём логов растёт быстро и на нагруженных системах может достигать десятков гигабайт в сутки.
Где должен лежать файл logcfg.xml
Расположение файла зависит от того, чьи события нужно собирать. Для сервера 1С файл помещают в каталог conf внутри каталога установки сервера (в Windows обычно C:\Program Files\1cv8\<версия>\bin\conf, в Linux — /opt/1cv8/x86_64/<версия>/conf) либо в каталог данных кластера srvinfo\reg_1541 рядом с файлом 1CV8Clst.lst. Вариант с каталогом кластера удобнее: он не привязан к конкретной версии платформы и не теряется при обновлении.
Для клиентского приложения (толстый или тонкий клиент, файловый режим) logcfg.xml кладут в каталог conf каталога установки платформы на той машине, где запускается клиент. Если каталога conf нет, его нужно создать вручную. Важно: файл должен быть доступен на чтение той учётной записи, под которой работает процесс — для сервера это обычно служебный пользователь агента (например, USR1CV8).
Минимальная настройка: включаем журнал по шагам
Базовый вариант logcfg.xml включает все события с полными свойствами и задаёт каталог для логов. Каталог для журнала создайте заранее и дайте на него права записи учётной записи сервера 1С — иначе файлы просто не появятся, и платформа не сообщит об ошибке в интерфейсе.
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_logs" history="24">
<event>
<eq property="name" value=""/>
</event>
<property name="all"/>
</log>
</config>- 1Создайте каталог для логов, например D:\1c_logs, и дайте полные права учётной записи агента сервера 1С
- 2Создайте файл logcfg.xml с нужными событиями и путьём к каталогу
- 3Скопируйте файл в каталог conf платформы или в srvinfo\reg_1541 кластера
- 4Перезапустите службу агента сервера 1С (или клиентское приложение)
- 5Откройте каталог логов и убедитесь, что появились папки с именами процессов и файлы .log
Атрибут history задаёт время хранения логов в часах — платформа автоматически удаляет файлы старше указанного срока. Если атрибут не задан, старые файлы не удаляются, и диск рано или поздно переполнится. Для диагностики обычно достаточно 24–72 часов.
Перезапуск службы агента сервера обязателен: процессы читают logcfg.xml только при старте. При этом перезапуск службы на боевом сервере прервёт сеансы пользователей, поэтому планируйте операцию на время минимальной нагрузки и предупредите пользователей.
Какие события включать под конкретную задачу
Полный сбор всех событий оправдан только на короткое время расследования. Для адресной диагностики лучше включать отдельные группы событий с фильтрами, чтобы не замедлять систему и не переполнять диск.
Фильтрация выполняется элементами <eq>, <ne>, <gt>, <like> внутри секции <event>. Например, чтобы ловить только длительные запросы к MS SQL, укажите событие DBMSSQL и условие по свойству duration. Пустое значение value="" в примере выше означает «все события» — это самый тяжёлый режим.
Проверка, что журнал заработал
После перезапуска службы откройте каталог, указанный в атрибуте location. В нём должны появиться подкаталоги с именами процессов (например, rphost_1234, rmngr_5678), а внутри — файлы вида 24010112.log, где имя кодирует дату и час. Если файлы есть и их размер растёт — журнал работает.
Если каталог пуст, проверяйте по порядку: корректность XML (одна ошибка в синтаксисе отключает весь файл), расположение logcfg.xml, права на каталог логов для учётной записи службы и факт перезапуска процессов. Быстрый способ проверить синтаксис — открыть файл в браузере: он покажет место ошибки разбора XML.
Как проверить результат
Появились папки rphost_*, rmngr_* с файлами .log, размер файлов растёт
Каталог пуст через несколько минут после перезапуска
Строки с метками времени и именами событий (EXCP, DBMSSQL и др.)
Файлы нулевого размера или содержат только заголовки
Файл открывается в браузере без ошибок разбора
Браузер сообщает об ошибке XML — платформа игнорирует весь файл
Типичные ошибки и ограничения
Отдельное ограничение касается производительности: события, пишущие полные тексты запросов и контексты (DBMSSQL, EXCPCNTX), заметно нагружают систему. На боевом сервере включайте их точечно и на ограниченное время, а не в постоянном режиме.
Как выключить журнал после диагностики
Чтобы отключить технологический журнал, удалите или переименуйте файл logcfg.xml и перезапустите службу агента сервера 1С либо клиентское приложение. После этого платформа вернётся к поведению по умолчанию — записи вестись не будут (кроме аварийных дампов, если они настроены отдельно).
Перед удалением скопируйте нужные логи в архив: после перезапуска службы и включённого автоочищения старые файлы могут быть удалены платформой. Для анализа логов удобно использовать штатную консоль с разбором по событиям или сторонние инструменты разбора ТЖ, которые группируют записи по длительности и типам событий.
Что важно запомнить
Технологический журнал включается файлом logcfg.xml в каталоге conf платформы или в каталоге кластера, требует перезапуска процессов и прав на каталог логов. Включайте только нужные события, всегда задавайте срок хранения history и отключайте журнал после завершения диагностики.
Частые вопросы
Можно ли включить технологический журнал без перезапуска сервера 1С?
Нет. Процессы платформы читают logcfg.xml только при старте, поэтому после создания или изменения файла необходимо перезапустить службу агента (для сервера) или клиентское приложение. Горячего применения настроек не предусмотрено.
Где искать логи, если журнал включён, но каталог пуст?
Проверьте три вещи: имя файла (ровно logcfg.xml, без лишнего расширения), его расположение (conf платформы или каталог кластера srvinfo\reg_1541) и права учётной записи службы на каталог логов. Также убедитесь, что служба была перезапущена после создания файла.
Чем технологический журнал отличается от журнала регистрации?
Журнал регистрации фиксирует события прикладного уровня: действия пользователей, изменения объектов, ошибки встроенного кода. Технологический журнал пишется платформой ниже уровня конфигурации: запросы к СУБД, блокировки, аварийные ситуации, вызовы компонент. Для расследования падений и производительности нужен именно ТЖ.
Сколько места на диске резервировать под технологический журнал?
Объём сильно зависит от набора событий и нагрузки: полный сбор всех событий на активном сервере может давать десятки гигабайт в сутки, а точечная диагностика длительных запросов — сотни мегабайт. Ориентируйтесь на атрибут history и контролируйте фактический рост каталога в первые часы после включения.
Можно ли включить журнал только для одной информационной базы?
Файл logcfg.xml действует на уровне процессов, а не отдельных баз. Однако ограничить запись можно фильтрами по свойствам событий — например, отбирать события по имени базы (свойство p:processName или имя базы в контексте событий соединения). Для клиентского приложения фильтрация по конкретной базе выполняется аналогично через условия в секции event.