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

Администрирование · 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С — иначе файлы просто не появятся, и платформа не сообщит об ошибке в интерфейсе.

xml
<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. 1
    Создайте каталог для логов, например D:\1c_logs, и дайте полные права учётной записи агента сервера 1С
  2. 2
    Создайте файл logcfg.xml с нужными событиями и путьём к каталогу
  3. 3
    Скопируйте файл в каталог conf платформы или в srvinfo\reg_1541 кластера
  4. 4
    Перезапустите службу агента сервера 1С (или клиентское приложение)
  5. 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 и др.)

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

Файлы нулевого размера или содержат только заголовки

Синтаксис logcfg.xml
Норма

Файл открывается в браузере без ошибок разбора

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

Браузер сообщает об ошибке XML — платформа игнорирует весь файл

Типичные ошибки и ограничения

Типичные ошибки
01
Файл назван logcfg.xml.txt из-за скрытых расширений в Проводнике — платформа его не видит; включите отображение расширений и проверьте имя
02
Каталог логов указан как сетевой путь или на диск без прав записи для учётной записи USR1CV8 — файлы не создаются без каких-либо сообщений
03
Забыли перезапустить службу агента после изменения logcfg.xml — старая конфигурация продолжает действовать
04
Не задан атрибут history — логи копятся бесконечно и переполняют диск, что приводит к остановке сервера 1С или СУБД
05
Включены все события без фильтров на нагруженном сервере — резко растёт нагрузка на дисковую подсистему и падает производительность

Отдельное ограничение касается производительности: события, пишущие полные тексты запросов и контексты (DBMSSQL, EXCPCNTX), заметно нагружают систему. На боевом сервере включайте их точечно и на ограниченное время, а не в постоянном режиме.

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

Чтобы отключить технологический журнал, удалите или переименуйте файл logcfg.xml и перезапустите службу агента сервера 1С либо клиентское приложение. После этого платформа вернётся к поведению по умолчанию — записи вестись не будут (кроме аварийных дампов, если они настроены отдельно).

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

Итог

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

Технологический журнал включается файлом logcfg.xml в каталоге conf платформы или в каталоге кластера, требует перезапуска процессов и прав на каталог логов. Включайте только нужные события, всегда задавайте срок хранения history и отключайте журнал после завершения диагностики.

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

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

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

Где искать логи, если журнал включён, но каталог пуст?

Проверьте три вещи: имя файла (ровно logcfg.xml, без лишнего расширения), его расположение (conf платформы или каталог кластера srvinfo\reg_1541) и права учётной записи службы на каталог логов. Также убедитесь, что служба была перезапущена после создания файла.

Чем технологический журнал отличается от журнала регистрации?

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

Сколько места на диске резервировать под технологический журнал?

Объём сильно зависит от набора событий и нагрузки: полный сбор всех событий на активном сервере может давать десятки гигабайт в сутки, а точечная диагностика длительных запросов — сотни мегабайт. Ориентируйтесь на атрибут history и контролируйте фактический рост каталога в первые часы после включения.

Можно ли включить журнал только для одной информационной базы?

Файл logcfg.xml действует на уровне процессов, а не отдельных баз. Однако ограничить запись можно фильтрами по свойствам событий — например, отбирать события по имени базы (свойство p:processName или имя базы в контексте событий соединения). Для клиентского приложения фильтрация по конкретной базе выполняется аналогично через условия в секции event.