Где искать причину сбоя в 1С: журнал регистрации, технологический журнал и логи сервера
Содержание
Логи в 1С 8.3 смотрят в трёх местах. Первое — журнал регистрации: в пользовательском режиме он открывается через Администрирование → Обслуживание → Журнал регистрации или Все функции → Стандартные → Журнал регистрации, в Конфигураторе — через Администрирование → Журнал регистрации. Второе — технологический журнал, который включают файлом logcfg.xml. Третье — журнал событий операционной системы, куда пишет служба сервера 1С.
Журнал регистрации отвечает на вопрос «кто, когда и что сделал и какая ошибка вылезла». Технологический журнал — на вопрос «что происходило внутри платформы и СУБД». Начинайте всегда с первого: часто ответ находится уже там, и до ТЖ дело не доходит.
Журнал регистрации 1С: открыть, отфильтровать, прочитать
Журнал регистрации ведётся по каждой информационной базе отдельно и включён по умолчанию. Смотреть его может пользователь с административными правами или с правом «Журнал регистрации» в роли.
Как открыть журнал
| Где | Путь |
|---|---|
| БП 3.0, ЗУП 3.1, УТ 11 (интерфейс «Такси») | Администрирование → Обслуживание → Журнал регистрации |
| Любая конфигурация | Главное меню → Все функции → Стандартные → Журнал регистрации |
| Конфигуратор | Администрирование → Журнал регистрации |
Если пункта «Все функции» в главном меню нет, включите его: Главное меню → Сервис → Параметры → Отображать команду «Все функции».
Как настроить отбор
Без отбора журнал за год — это сотни тысяч строк. Откройте отбор и ограничьте выборку:
- Период — от 10–15 минут до момента сбоя. Пользователь обычно помнит время ошибки, спросите его.
- Уровень — оставьте «Ошибка». Потом добавьте «Предупреждение», если ничего не нашли.
- Пользователь — тот, у кого возникла проблема.
- Событие — например, «Сеанс. Аутентификация (ошибка)» при проблемах со входом или «Данные. Удаление», если ищете, кто удалил документ.
- Метаданные — конкретный объект: документ «Реализация (акт, накладная, УПД)», справочник «Номенклатура» и т. п.
Что смотреть в записи
Двойной щелчок по строке открывает карточку события. Главные поля:
- 🕒 Дата — точное время до секунды.
- 👤 Пользователь и компьютер — кто и откуда работал.
- 📦 Метаданные и данные — какой объект и какая ссылка (номер и дата документа).
- 💬 Комментарий — здесь текст ошибки целиком, включая модуль и строку кода, например
{Документ.РеализацияТоваровУслуг.МодульОбъекта(245)}. - 🔢 Сеанс — номер сеанса. По нему удобно отобрать все действия одного запуска программы.
Ищете, кто изменил документ? Поставьте отбор по событию «Данные. Изменение» и по метаданным этого документа. В колонке «Данные» будет ссылка, в колонке «Пользователь» — автор правки.
Технологический журнал 1С: включение и чтение
Журнал регистрации видит то, что платформа сочла нужным записать для пользователя. Если база тормозит, процесс сервера падает или запрос висит на блокировке — нужен технологический журнал (ТЖ). Он пишет события платформы и СУБД в текстовые файлы.
По умолчанию ТЖ выключен. Включают его файлом logcfg.xml. Платформа ищет его в каталоге conf:
C:\Program Files\1cv8\conf\— общий для всех установленных версий;C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\— для конкретной версии;- на Linux —
/opt/1cv8/conf/или каталогconfрядом с исполняемыми файлами платформы.
Файл нужно положить на тот компьютер, где выполняется код: при клиент-серверной работе — на сервер 1С, при файловой — на рабочее место пользователя. Платформа перечитывает настройку примерно раз в минуту, перезапуск службы не нужен.
Минимальная настройка: только исключения
Для первого раза достаточно ловить исключения — события EXCP:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_logs\excp" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
Здесь location — каталог для логов, history — сколько часов хранить файлы. Каталог создайте заранее и дайте пользователю, от которого работает служба сервера 1С (обычно USR1CV8), права на запись.
Расследование блокировок
Если пользователи жалуются на ошибку «Конфликт блокировок при выполнении транзакции» или на зависания при проведении, добавьте события управляемых блокировок:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_logs\locks" history="4">
<event>
<eq property="name" value="TLOCK"/>
</event>
<event>
<eq property="name" value="TTIMEOUT"/>
</event>
<event>
<eq property="name" value="TDEADLOCK"/>
</event>
<property name="all"/>
</log>
</config>
Не оставляйте TLOCK и тем более события запросов к СУБД включёнными надолго. На нагруженной базе они дают гигабайты в час и заметно замедляют работу сервера. Включили, воспроизвели проблему, выключили.
Как устроены файлы ТЖ
Внутри каталога location платформа создаёт папки по процессам: rphost_4120, rmngr_3876, ragent_2904, 1cv8c_7712. Число — идентификатор процесса (PID). В каждой папке файлы по часам с именем вида 26100714.log — это год, месяц, день и час.
Строка события выглядит так:
23:45.123456-0,EXCP,3,process=rphost,p:processName=buh,Usr=Иванова,Descr='Ошибка при вызове метода контекста (Записать)...'
23:45.123456— минуты и секунды внутри часа из имени файла;- число после дефиса — длительность события;
EXCP— тип события;p:processName— имя информационной базы;Usr— пользователь;Descr— текст ошибки.
Логи сервера 1С:Предприятие и каталог srvinfo
При клиент-серверной работе журнал регистрации лежит не у пользователя, а на сервере. Путь по умолчанию:
- Windows:
C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log\ - Linux:
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log/
Здесь 1541 — порт менеджера кластера, <GUID базы> — уникальный идентификатор информационной базы. Чтобы понять, какая папка к какой базе относится, откройте в каталоге reg_1541 файл 1CV8Clst.lst текстовым редактором: в нём перечислены базы кластера с их идентификаторами. Только смотрите, не правьте — это реестр кластера.
У файловой базы журнал хранится в папке 1Cv8Log внутри каталога базы, рядом с файлом 1Cv8.1CD.
Форматы файлов журнала
| Формат | Файлы | Особенность |
|---|---|---|
| Текстовый (последовательный) | 1Cv8.lgf + файлы .lgp | Дописывается быстро, хорошо переносит большие объёмы |
| SQLite | 1Cv8.lgd | Один файл-база, удобнее для выборок, но крупный файл медленно открывается |
Оба формата читаются только через платформу 1С. Открывать .lgp блокнотом бессмысленно: внутри ссылки на справочники пользователей и метаданных из .lgf.
Журнал событий Windows и journald
Сама служба сервера 1С пишет в журнал операционной системы: запуск и остановку агента, аварийное завершение рабочих процессов, ошибки лицензирования на сервере.
- Windows:
Просмотр событий → Журналы Windows → Приложение, источник — служба агента сервера 1С («1C:Enterprise 8.3 Server Agent»). - Linux:
journalctl -uс именем службы сервера 1С, напримерsrv1cv8-8.3.xx.xxxx@default.
Сюда смотрят, когда у всех пользователей одновременно выдаётся «Соединение с сервером 1С:Предприятия разорвано» — часто это перезапуск рабочего процесса rphost.
Детализация журнала и ротация файлов
Настройки журнала регистрации меняют в Конфигураторе: Администрирование → Настройка журнала регистрации.
Уровни регистрации:
- Не регистрировать события.
- Регистрировать ошибки.
- Регистрировать ошибки и предупреждения.
- Регистрировать ошибки, предупреждения и информацию.
- Регистрировать все события (включая примечания).
Для рабочей базы обычно хватает уровня «все события» — без информации и примечаний не найти, кто удалил или изменил данные. Опускать уровень до ошибок стоит, только если журнал реально мешает по объёму.
Разделение на периоды. В той же форме задают, как дробить файлы, например по дням или по месяцам. Разделение по месяцам удобно для архива: старые файлы .lgp можно перенести в хранилище, не трогая текущий.
Сокращение журнала. Кнопка сокращения удаляет записи до выбранной даты и позволяет сохранить их в отдельный файл. Перед сокращением выгрузите удаляемую часть в файл — после удаления восстановить историю будет неоткуда.
Для технологического журнала ротацией управляет атрибут history у элемента log: файлы старше указанного числа часов платформа удаляет сама. Типичные значения — от 4 часов для тяжёлых событий до 168 (неделя) для одних исключений.
Следите за свободным местом на диске с каталогом ТЖ. Если диск заполнится, могут остановиться и другие службы на сервере. Каталог ТЖ лучше выносить на отдельный том.
Частые ошибки в логах 1С и что они означают
Как связать запись журнала регистрации с ТЖ
Журнал регистрации показывает, у кого и когда. ТЖ показывает, почему. Сводите их по трём признакам:
- 🕒 время с точностью до секунды (на сервере и у клиентов должны быть синхронизированы часы);
- 👤 имя пользователя — поле
Usrв ТЖ; - 🔢 номер сеанса — поле
SessionIDв ТЖ и колонка «Сеанс» в журнале регистрации.
Автоматический сбор и разбор логов
Ручной просмотр работает, пока база одна и сбои редкие. Дальше удобнее автоматизировать.
Выгрузка журнала регистрации кодом
Встроенный язык позволяет прочитать журнал методом ВыгрузитьЖурналРегистрации. Код выполняется на сервере, пользователю нужны права на журнал. Пример — все ошибки за сегодня:
&НаСервере
Процедура ПоказатьОшибкиЗаСегодняНаСервере()
Таблица = Новый ТаблицаЗначений;
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДатаСеанса()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
Для Каждого Запись Из Таблица Цикл
Сообщить(Формат(Запись.Дата, "ДЛФ=DT") + " | "
+ Запись.ИмяПользователя + " | " + Запись.Комментарий);
КонецЦикла;
КонецПроцедуры
Такую процедуру можно повесить на регламентное задание и отправлять сводку по почте администратору раз в день. Свои события в журнал пишут методом ЗаписьЖурналаРегистрации — полезно для собственных обработок обмена и загрузки.
Поиск по файлам ТЖ из консоли
ТЖ — обычный текст, поэтому его удобно разбирать стандартными средствами ОС.
Linux — последние 50 исключений по всем процессам:
grep -rh ",EXCP," /var/log/1c/excp/ | tail -n 50
Windows, PowerShell — то же самое:
Get-ChildItem D:\1c_logs\excp -Recurse -Filter *.log |
Select-String ",EXCP," |
Select-Object -Last 50
Для подсчёта, какие ошибки повторяются чаще, выделяйте поле Descr и группируйте: так сразу видно, например, что почти все исключения даёт одна внешняя обработка.
Готовые инструменты
| Инструмент | Что делает | Когда брать |
|---|---|---|
Регламентное задание с ВыгрузитьЖурналРегистрации | Сводка ошибок по почте | Одна-две базы, нужен контроль ошибок |
| Скрипты grep / PowerShell | Быстрый поиск в ТЖ | Разовое расследование |
| 1С:ЦУП из пакета КИП | Мониторинг производительности и ТЖ кластера | Много баз и пользователей, постоянный мониторинг |
| Внешние системы сбора логов (ELK, Grafana Loki) | Централизованное хранение и графики | Несколько серверов, есть администратор |
Перед подключением внешней системы определите, какие события вам действительно нужны. Отправлять в неё весь ТЖ со всеми событиями — дорого по диску и почти бесполезно для разбора.
Частые вопросы
Можно ли посмотреть журнал регистрации, если база не запускается?
1Cv8Log в каталог пустой файловой базы той же конфигурации и откройте журнал там. Пользователи и метаданные подтянутся из файлов журнала.Почему в журнале регистрации нет записей за нужный день?
1Cv8Log.Технологический журнал включён, а файлов нет. Почему?
location, или logcfg.xml лежит не в той папке conf. Также проверьте, что XML без синтаксических ошибок.