Логи 1С:Предприятия: какие бывают, где лежат и как их читать

· 10 мин

Содержание

Логи 1С 8.3 лежат в четырёх местах. Журнал регистрации — в подкаталоге 1Cv8Log рядом с файловой базой или в srvinfo\reg_1541\<GUID базы>\1Cv8Log на сервере. Технологический журнал пишется туда, куда укажет файл logcfg.xml. Логи СУБД и веб-сервера ищут в каталогах MS SQL, PostgreSQL, IIS или Apache.

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

Карта логов 1С: что где искать

Сначала сводная таблица. Пути даны для установки по умолчанию.

ЛогЧто в нёмWindowsLinux
Журнал регистрации, файловая базаВходы, изменения данных, ошибки пользователей<каталог базы>\1Cv8Log\<каталог базы>/1Cv8Log/
Журнал регистрации, клиент-серверТо же для серверной базыC:\Program Files\1cv8\srvinfo\reg_1541\<GUID>\1Cv8Log\/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID>/1Cv8Log/
Технологический журналСобытия платформы: исключения, запросы, блокировкиКаталог из logcfg.xmlКаталог из logcfg.xml
Настройка ТЖФайл logcfg.xmlC:\Program Files\1cv8\conf\/opt/1cv8/conf/
Журнал MS SQLОшибки и перезапуски СУБД...\MSSQL\Log\ERRORLOG—
Журнал PostgreSQLОшибки, долгие запросы<каталог данных>\log\/var/log/postgresql/ или <каталог данных>/log/
Журнал IISЗапросы к публикацииC:\inetpub\logs\LogFiles\W3SVC<N>\—
Журнал ApacheОшибки модуля 1С<каталог Apache>\logs\/var/log/apache2/ или /var/log/httpd/

Порт 1541 в имени reg_1541 — порт менеджера кластера. Если кластер поднят на другом порту, каталог называется иначе, например reg_2541.

Что вы хотите выяснить?

Журнал регистрации и логи на стороне клиента

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

Где лежит журнал файловой базы

Он хранится в каталоге базы, в папке 1Cv8Log. Если не помните, где база, откройте окно запуска 1С. Выделите базу — путь видно внизу списка. Ещё вариант — файл ibases.v8i по пути %APPDATA%\1C\1CEStart\. Это обычный текст, где у каждой базы есть строка Connect=File="...".

Внутри 1Cv8Log вы увидите один из двух форматов:

  • 📄 1Cv8.lgd — один файл-база SQLite с записями за всё время;
  • 📁 1Cv8.lgf плюс набор файлов *.lgp — последовательный формат, по файлу на период.

Какой формат используется, зависит от версии платформы, на которой создавалась база, и от истории её обслуживания.

Как открыть журнал из программы

Читать файлы руками не нужно. Журнал открывается из 1С:

  1. В режиме «Предприятие» в БП 3.0, ЗУП 3.1 и УТ 11: Администрирование → Обслуживание → Журнал регистрации.
  2. В любой конфигурации через «Все функции»: включите Сервис и настройки → Параметры → Режим технического специалиста, затем Все функции → Стандартные → Журнал регистрации.
  3. В конфигураторе: Администрирование → Журнал регистрации.

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

Что регистрировать и как часто делить файлы

Настройка — в конфигураторе: Администрирование → Настройка журнала регистрации. Там два параметра:

  • 🔹 уровень регистрации: ошибки, предупреждения, информация или примечания;
  • 🔹 периодичность разделения файлов: по часу, дню, неделе, месяцу или году.

Для расследований ставьте «Регистрировать примечания». Иначе событий изменения данных в журнале не будет.

Логи на компьютере пользователя

Своего постоянного лога клиент 1С не пишет. Ошибки клиента попадают в журнал регистрации базы. Если этого мало, включают технологический журнал прямо на рабочей станции: тот же logcfg.xml в каталоге conf установленной платформы.

Ещё одно место на клиенте — журнал Windows «Приложение» (eventvwr.msc). Туда попадают аварийные завершения 1cv8.exe и 1cv8c.exe с кодом исключения и модулем, на котором упал процесс.

Серверные журналы кластера 1С

На сервере 1С всё хранится в рабочем каталоге кластера — srvinfo. Начинать поиск стоит с него.

Как найти каталог srvinfo

По умолчанию на Windows это C:\Program Files\1cv8\srvinfo, на Linux — /home/usr1cv8/.1cv8/1C/1cv8/. Но при установке путь могли поменять. Точный адрес записан в параметре -d командной строки агента сервера.

На Windows его покажет PowerShell:

Get-CimInstance Win32_Service |
  Where-Object { $_.Name -like '1C*' } |
  Select-Object Name, PathName

На Linux — список процессов:

ps -ef | grep ragent

Что лежит внутри

  • 📌 1CV8Clst.lst — реестр кластера: базы, рабочие серверы, администраторы;
  • 📌 reg_1541\<GUID>\ — по папке на каждую базу кластера;
  • 📌 reg_1541\<GUID>\1Cv8Log\ — журнал регистрации этой базы;
  • 📌 reg_1541\snccntx* и похожие — служебные данные сеансов, их не трогают.

Как понять, какой GUID у вашей базы

Папки называются идентификаторами, а не именами баз. Сопоставить их можно двумя способами.

Первый — утилита rac. Сначала получите идентификатор кластера, затем список баз с их UUID:

rac cluster list
rac infobase summary list --cluster=<id кластера>

Второй — открыть 1CV8Clst.lst текстовым редактором и найти имя базы. GUID стоит рядом с ним.

Файл 1CV8Clst.lst только читайте. Не редактируйте и не удаляйте его на работающем сервере — кластер потеряет список баз. Если нужно с ним что-то делать, сначала сделайте копию.

Журнал событий операционной системы

Служба агента сервера пишет ошибки запуска в журнал Windows «Приложение». Ищите события от источников со словом «1C». На Linux с systemd смотрите journalctl -u <имя службы 1С>. Имя службы можно узнать командой systemctl list-units | grep -i 1c.

Технологический журнал 1С: включение и поиск файлов

Технологический журнал (ТЖ) по умолчанию выключен. Его включают файлом logcfg.xml, который платформа ищет в каталоге conf.

Где разместить logcfg.xml

ВариантWindowsLinux
Для всех версий платформыC:\Program Files\1cv8\conf\/opt/1cv8/conf/
Для одной версииC:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\/opt/1cv8/x86_64/8.3.xx.xxxx/conf/

Платформа перечитывает файл примерно раз в минуту. Перезапускать службу не нужно.

Минимальная настройка: только исключения

Этот пример собирает все исключения платформы и хранит их 24 часа:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1C_TechLog\excp" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

Параметр history — срок хранения в часах. Файлы старше платформа удаляет сама.

Долгие запросы к СУБД

Чтобы найти медленные запросы, добавьте второй блок <log>. Отбор по длительности в 8.3 задаётся в микросекундах: значение 1000000 — это одна секунда.

  <log location="D:\1C_TechLog\sql" history="12">
    <event>
      <eq property="name" value="DBMSSQL"/>
      <gt property="duration" value="1000000"/>
    </event>
    <event>
      <eq property="name" value="DBPOSTGRS"/>
      <gt property="duration" value="1000000"/>
    </event>
    <property name="all"/>
  </log>

Какие события полезны чаще всего

  • 🔴 EXCP — исключения, в том числе падения процессов;
  • 🔵 PROC — запуск и остановка процессов кластера;
  • 🟢 CONN — подключения клиентов;
  • 🟡 CALL, SCALL — серверные вызовы с длительностью;
  • 🟠 DBMSSQL, DBPOSTGRS — запросы к MS SQL и PostgreSQL;
  • 🟣 TLOCK, TTIMEOUT, TDEADLOCK — управляемые блокировки, таймауты и взаимоблокировки.

Как устроены файлы ТЖ

В каталоге из location платформа создаёт по папке на процесс: rphost_4120, rmngr_2964, ragent_1812, 1cv8c_7712. Цифры — PID процесса. Внутри — файлы по часам с именем вида ГГММДДЧЧ.log, например 26100714.log — 7 октября, 14 часов.

ТЖ с отбором «все события» за час на загруженном сервере вырастает до десятков гигабайт. Не включайте полный журнал без отбора на рабочем сервере и выносите каталог на отдельный диск. У пользователя службы 1С (обычно USR1CV8) должны быть права на запись в этот каталог.

Логи СУБД при работе 1С с данными

Если в ТЖ видна долгая операция с базой или ошибка СУБД, следующий шаг — журнал самой СУБД.

Microsoft SQL Server

Основной журнал — файл ERRORLOG в каталоге экземпляра, например C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Log\. Число в MSSQL16 зависит от версии SQL Server. Удобнее читать через SSMS: Management → SQL Server Logs.

Взаимоблокировки SQL Server по умолчанию фиксирует сессия расширенных событий system_health. Её можно открыть в SSMS: Management → Extended Events → Sessions.

PostgreSQL

Путь зависит от сборки и системы:

  • 🐧 Debian и Ubuntu — /var/log/postgresql/;
  • 🐧 RHEL-подобные системы — подкаталог log в каталоге данных, например /var/lib/pgsql/<версия>/data/log/;
  • 🪟 Windows — подкаталог log в каталоге данных кластера PostgreSQL.

Точный путь показывают параметры log_directory и data_directory:

SHOW data_directory;
SHOW log_directory;

Чтобы PostgreSQL писал медленные запросы, задайте log_min_duration_statement в postgresql.conf. Значение в миллисекундах: 1000 — запросы дольше секунды. После правки перечитайте конфигурацию, например SELECT pg_reload_conf();.

Запросы в логе СУБД выглядят как обращения к таблицам _Document123, _AccumRg456. Чтобы понять, какой это объект 1С, вызовите в конфигурации метод ПолучитьСтруктуруХраненияБазыДанных(). Он вернёт соответствие имён таблиц объектам метаданных.

Журналы веб-сервера для веб-клиента и HTTP-сервисов

Когда база опубликована на веб-сервере, часть ошибок не доходит до 1С. Их видно только в журнале веб-сервера.

IIS

Журнал запросов — C:\inetpub\logs\LogFiles\W3SVC<N>\, где N — идентификатор сайта в диспетчере IIS. В записях смотрите код ответа: 500 — ошибка на стороне модуля или сервера 1С, 401 и 403 — проблема с аутентификацией и правами, 404 — неверный путь публикации.

Apache

  • 🪟 Windows — error.log и access.log в подкаталоге logs каталога Apache;
  • 🐧 Debian и Ubuntu — /var/log/apache2/;
  • 🐧 RHEL-подобные — /var/log/httpd/.

Ошибки загрузки модуля 1С (wsap24.dll на Windows, wsap24.so на Linux) пишутся в error.log. Частая причина — разрядность модуля не совпадает с разрядностью Apache или модуль взят от другой версии платформы.

Браузер

Если сервер отвечает без ошибок, а веб-клиент не открывается, нажмите F12 в браузере. Вкладки «Консоль» и «Сеть» покажут, какой запрос упал и с каким кодом.

Автоматизация сбора и анализа логов

Руками логи разбирают один раз. Если проблема повторяется, сбор лучше поставить на поток.

Быстрый разбор ТЖ из командной строки

Файлы ТЖ — обычный текст, одна запись начинается со времени и длительности. Найти все исключения за час на Linux можно так:

grep -h ",EXCP," /var/log/1c/techlog/excp/rphost_*/26100714.log | head -50

На Windows то же делает PowerShell:

Get-ChildItem D:\1C_TechLog\excp -Recurse -Filter *.log |
  Select-String -Pattern ',EXCP,' |
  Select-Object -First 50

Регламент обслуживания

  • 🗓 Журнал регистрации растёт годами. Раз в квартал сокращайте его в конфигураторе: Администрирование → Журнал регистрации, команда сокращения в меню формы, с выгрузкой удаляемых записей в файл.
  • 🗓 Для ТЖ держите небольшой history и не оставляйте тяжёлые отборы включёнными после расследования.
  • 🗓 Каталоги логов СУБД и веб-сервера включите в обычную ротацию: logrotate на Linux, планировщик задач на Windows.

Централизованный сбор

Если серверов несколько, файлы ТЖ и журналы веб-сервера собирают агентом в общее хранилище логов — Elasticsearch, Graylog, ClickHouse или аналог. Там удобно строить графики по длительности запросов и количеству исключений. В экосистеме 1С для этой задачи есть «Корпоративный инструментальный пакет» со средствами анализа ТЖ и производительности.

Перед расследованием проверьте
Выполнено: 0 / 6

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

Почему logcfg.xml не работает и файлов ТЖ нет?
Проверьте три вещи: файл лежит в каталоге conf той версии платформы, которая запущена; каталог из location существует и доступен на запись пользователю службы; XML без ошибок и сохранён в UTF-8. Подождите минуту — платформа перечитывает файл не сразу.
Можно ли удалить старые файлы журнала регистрации?
Да, но правильнее сокращать журнал из конфигуратора с выгрузкой записей в файл. Удаление *.lgp вручную при последовательном формате возможно для периодов, которые не нужны, но делайте это при остановленной работе с базой и после копии каталога 1Cv8Log.
Видно ли в журнале регистрации, кто удалил документ?
Да, если уровень регистрации — «Примечания». Ищите событие «Данные. Удаление» с отбором по периоду. Само содержимое удалённого документа журнал не хранит — только факт, пользователя, компьютер и представление объекта.
Как посмотреть журнал регистрации серверной базы без входа в неё?
Скопируйте папку reg_1541\<GUID>\1Cv8Log с сервера и подключите её к любой пустой файловой базе: замените её папку 1Cv8Log скопированной и откройте журнал в конфигураторе. Рабочую базу это не затрагивает.
Сколько места занимает технологический журнал?
Только события EXCP — обычно мегабайты в сутки. Запросы к СУБД без отбора по длительности — гигабайты в час на нагруженном сервере. Поэтому ставьте отбор по длительности и короткий history.