Логи 1С:Предприятия: какие бывают, где лежат и как их читать
Содержание
Логи 1С 8.3 лежат в четырёх местах. Журнал регистрации — в подкаталоге 1Cv8Log рядом с файловой базой или в srvinfo\reg_1541\<GUID базы>\1Cv8Log на сервере. Технологический журнал пишется туда, куда укажет файл logcfg.xml. Логи СУБД и веб-сервера ищут в каталогах MS SQL, PostgreSQL, IIS или Apache.
Какой лог открывать, зависит от вопроса. «Кто удалил документ» — журнал регистрации. «Почему падает рабочий процесс» — технологический журнал и журнал событий Windows. «Почему тормозит запрос» — ТЖ вместе с логом СУБД. Для веб-клиента добавляется журнал веб-сервера. Серверные, клиентские и технологические логи дополняют друг друга, поэтому при сложной ошибке смотрят сразу несколько.
Карта логов 1С: что где искать
Сначала сводная таблица. Пути даны для установки по умолчанию.
| Лог | Что в нём | Windows | Linux |
|---|---|---|---|
| Журнал регистрации, файловая база | Входы, изменения данных, ошибки пользователей | <каталог базы>\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.xml | C:\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С:
- В режиме «Предприятие» в БП 3.0, ЗУП 3.1 и УТ 11:
Администрирование → Обслуживание → Журнал регистрации. - В любой конфигурации через «Все функции»: включите
Сервис и настройки → Параметры → Режим технического специалиста, затемВсе функции → Стандартные → Журнал регистрации. - В конфигураторе:
Администрирование → Журнал регистрации.
В форме журнала ставьте отбор. Без него в рабочей базе за год миллионы строк, форма будет открываться минутами. Отбирайте по периоду, пользователю, событию и уровню важности.
Что регистрировать и как часто делить файлы
Настройка — в конфигураторе: Администрирование → Настройка журнала регистрации. Там два параметра:
- 🔹 уровень регистрации: ошибки, предупреждения, информация или примечания;
- 🔹 периодичность разделения файлов: по часу, дню, неделе, месяцу или году.
Для расследований ставьте «Регистрировать примечания». Иначе событий изменения данных в журнале не будет.
Логи на компьютере пользователя
Своего постоянного лога клиент 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
| Вариант | Windows | Linux |
|---|---|---|
| Для всех версий платформы | 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С для этой задачи есть «Корпоративный инструментальный пакет» со средствами анализа ТЖ и производительности.
Частые вопросы
Почему logcfg.xml не работает и файлов ТЖ нет?
conf той версии платформы, которая запущена; каталог из location существует и доступен на запись пользователю службы; XML без ошибок и сохранён в UTF-8. Подождите минуту — платформа перечитывает файл не сразу.Можно ли удалить старые файлы журнала регистрации?
*.lgp вручную при последовательном формате возможно для периодов, которые не нужны, но делайте это при остановленной работе с базой и после копии каталога 1Cv8Log.Видно ли в журнале регистрации, кто удалил документ?
Как посмотреть журнал регистрации серверной базы без входа в неё?
reg_1541\<GUID>\1Cv8Log с сервера и подключите её к любой пустой файловой базе: замените её папку 1Cv8Log скопированной и откройте журнал в конфигураторе. Рабочую базу это не затрагивает.Сколько места занимает технологический журнал?
history.