Гайд 1С: Настройка сбора трейсов технологического журнала с фильтрацией CALL и EXCP
При диагностике сбоев кластера 1С возникают трудности:
- Технологический журнал (ТЖ) забивает сотни гигабайт дискового пространства за несколько часов.
- Файл
logcfg.xmlсоставлен некорректно, из-за чего логирование вообще не стартует. - Сложно изолировать реальные критические ошибки от штатных перехваченных исключений.
- Зависания клиентских интерфейсов из-за медленных серверных вызовов (CALL).
1. Размещение файла logcfg.xml
Файл конфигурации технологического журнала должен располагаться в системном каталоге платформы:
- Linux:
/opt/1cv8/conf/logcfg.xml(права доступа пользователяusr1cv8:grp1cv8). - Windows:
C:\Program Files\1cv8\conf\logcfg.xml.
2. Боевая конфигурация logcfg.xml для анализа EXCP и долгих CALL
<config xmlns="http://v8.1c.ru/v8/tech-log">
<!-- Сбор необработанных исключений -->
<log location="/var/log/1c/logs/excp" history="48">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
<!-- Сбор серверных вызовов длительностью более 3 секунд (3 000 000 мкс) -->
<log location="/var/log/1c/logs/calls_slow" history="24">
<event>
<eq property="name" value="CALL"/>
<ge property="Duration" value="3000000"/>
</event>
<property name="all"/>
</log>
</config>3. Анализ полученных логов
Для поиска критических событий используйте потоковые утилиты:
# Поиск топ-10 самых долгих вызовов CALL
grep -rn "CALL" /var/log/1c/logs/calls_slow/ | awk -F'Duration=' '{print $2}' | sort -nr | head -n 10 Частые вопросы (FAQ)
В каких единицах измеряется свойство Duration в ТЖ?
Свойство Duration в технологическом журнале 1С измеряется в микросекундах (1 секунда = 1 000 000 микросекунд).
Нужно ли перезапускать кластер 1С после изменения logcfg.xml?
Нет, платформа перечитывает файл logcfg.xml на лету в течение 60 секунд после сохранения изменений в файле.
Что означает параметр history в теге log?
Параметр history задает глубину хранения логов в часах. По истечении этого времени платформа автоматически удаляет устаревшие подкаталоги.
Почему событие EXCP генерирует много мусорных записей?
Событие EXCP фиксирует абсолютно все исключения платформы, включая перехваченные внутри блока 'Попытка...Исключение'. Для фильтрации используйте условие <ne property='Descr' value='...'> или событие EXCPCNTX.