Логи 1С на диске и в программе: как найти, включить и прочитать
Содержание
Логи 1С 8.3 лежат в папке 1Cv8Log. В файловой базе она находится внутри каталога самой базы, рядом с файлом 1Cv8.1CD. В клиент-серверной базе её надо искать на сервере 1С, в каталоге srvinfo\reg_1541\<GUID базы>\1Cv8Log, а не на компьютере пользователя. Это журнал регистрации. Его же открывают из программы, без поиска файлов.
Частая ошибка — искать «лог ошибок» в %APPDATA% у бухгалтера и ничего не найти. Пользовательский компьютер в клиент-серверном режиме журнал не ведёт. Второй источник логов — технологический журнал. По умолчанию он выключен: его включают отдельным файлом logcfg.xml, и тогда он пишет подробности о каждом процессе платформы.
Два вида логов 1С и что в каждом искать
У платформы два независимых журнала. Они отвечают на разные вопросы, и путать их не стоит.
| Журнал регистрации | Технологический журнал | |
|---|---|---|
| Что пишет | Действия пользователей и программы: вход, запись документа, удаление, ошибки | Работу процессов платформы: запросы к СУБД, блокировки, исключения, вызовы сервера |
| Включён по умолчанию | Да | Нет |
| Где лежит | 1Cv8Log в каталоге базы или на сервере | Каталог, указанный в logcfg.xml |
| Как читать | Окно журнала в 1С | Текстовые файлы .log |
| Кому нужен | Бухгалтеру, администратору базы | Администратору сервера, программисту |
Журнал регистрации отвечает на вопрос «кто и когда». Кто провёл документ, кто удалил контрагента, у кого вылетела ошибка при обновлении.
Технологический журнал отвечает на вопрос «почему». Почему тормозит проведение, какой запрос держит блокировку, на каком вызове упал рабочий процесс.
Как включить журнал регистрации и выбрать уровень
Журнал включён в любой новой базе. Но уровень детализации может быть урезан, и тогда нужных записей просто нет. Проверьте настройку до разбора инцидента.
- Откройте базу в режиме «Конфигуратор».
- Выберите
Администрирование → Настройка журнала регистрации. - В поле уровня укажите, что писать.
- Задайте, как делить журнал по периодам.
- Нажмите «ОК». Настройка действует сразу.
Уровни идут по нарастанию подробности:
- 🚫 Не записывать — журнал не ведётся. В рабочей базе так оставлять нельзя.
- ❗ Ошибки — только ошибки.
- ⚠️ Предупреждения — ошибки и предупреждения.
- ℹ️ Информация — плюс информационные события: вход, выход.
- 📝 Примечания — максимальный уровень, пишется всё, включая изменения данных.
Для разбора «кто изменил документ» нужен уровень «Примечания». Именно на нём фиксируются события записи и удаления объектов.
Деление по периодам (по дням, неделям, месяцам) не меняет объём данных, но режет журнал на отдельные файлы. Старые периоды потом проще архивировать или удалить, не трогая текущий.
В том же окне есть кнопка сокращения журнала. Она удаляет записи старше выбранной даты и может сохранить их в отдельный файл. Перед сокращением подумайте, не понадобятся ли записи аудитору или для внутренней проверки.
Где физически лежат файлы журнала
Путь зависит от режима работы базы. Ниже — точные места для типовой установки 8.3.
Файловая база
Откройте каталог базы. Путь к нему виден в окне запуска 1С внизу, когда база выделена в списке. Внутри будет подпапка 1Cv8Log.
D:\Bases\Buh\
1Cv8.1CD
1Cv8Log\
1Cv8.lgf
20261007000000.lgp
20261006000000.lgp
Клиент-серверная база на Windows
Журнал хранится у кластера, в каталоге службы сервера. При установке службы по умолчанию это:
C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log\
Если служба ставилась с другим каталогом, путь задан в её параметрах запуска (ключ -d). Посмотреть его можно в свойствах службы «Агент сервера 1С:Предприятия 8.3» в оснастке services.msc.
Клиент-серверная база на Linux
У сервера 1С под Linux каталог кластера по умолчанию лежит в домашней папке пользователя службы:
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log/
Как узнать GUID нужной базы
Папок с GUID в reg_1541 столько, сколько баз в кластере. Чтобы найти свою:
- Откройте файл
1CV8Clst.lstв каталогеreg_1541любым текстовым редактором. Только на чтение, ничего не сохраняйте. - Найдите в нём имя базы, как оно задано в кластере.
- Рядом с именем стоит GUID. Это и есть имя папки.
Второй способ — открыть свойства базы в консоли администрирования серверов. Но GUID там показывается не во всех версиях консоли, поэтому файл списка надёжнее.
Не редактируйте 1CV8Clst.lst и не переименовывайте папки с GUID при работающей службе. Это реестр кластера: испорченный файл оставит без доступа все базы сервера.
Форматы файлов
| Файлы | Формат | Особенность |
|---|---|---|
1Cv8.lgf + *.lgp | Последовательный, текстовый | .lgf — словарь (пользователи, компьютеры, события), .lgp — сами записи по периодам |
1Cv8.lgd | База SQLite | Один файл, удобно читать сторонними инструментами |
Формат журнала меняют в том же окне настройки в Конфигураторе. При смене платформа преобразует существующие записи. На большом журнале это занимает время, делайте это вне рабочих часов.
Как читать и фильтровать журнал регистрации
Открывать файлы .lgp блокнотом бессмысленно: там коды вместо имён. Читайте журнал средствами 1С.
Где открыть журнал:
- 🖥️ В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11):
Администрирование → Обслуживание → Журнал регистрации. - 🧰 В любой конфигурации: меню
Все функции → Стандартные → Журнал регистрации. Если пункта «Все функции» нет, включите его: главное меню (кнопка с тремя полосками) →Сервис → Параметры, флажок «Отображать команду “Все функции”». - ⚙️ В Конфигураторе:
Администрирование → Журнал регистрации. Работает, даже если пользователи не могут войти в базу.
Для просмотра нужны права администратора или отдельное право на журнал. Обычный пользователь пункт меню не увидит.
Отбор записей
Без отбора журнал за год — сотни тысяч строк. Сразу задавайте фильтр. В отборе доступны:
- 📅 интервал дат;
- 👤 пользователь и компьютер;
- 🧩 приложение (тонкий клиент, Конфигуратор, фоновое задание, COM-соединение);
- 🏷️ событие: например, «Данные. Изменение», «Данные. Удаление», «Сеанс. Начало»;
- 📂 метаданные — вид объекта, например «Документ. Реализация товаров и услуг»;
- ❗ важность: ошибка, предупреждение, информация, примечание;
- 💬 комментарий и представление данных.
Мини-кейс: кто удалил контрагента
Пропал контрагент «Ромашка ООО», а в корзине его нет — значит, удалили непосредственно, без пометки.
- Откройте журнал и задайте интервал: последние две недели.
- В отборе по событию выберите «Данные. Удаление».
- В метаданных отметьте справочник «Контрагенты».
- В найденной строке смотрите колонки «Пользователь», «Компьютер» и «Дата».
Если записи нет, проверьте уровень журнала. На уровне «Ошибки» удаление не фиксируется, и восстановить картину по журналу уже не получится.
Двойной щелчок по строке открывает её целиком: там видны данные объекта, номер сеанса и статус транзакции. Транзакция «Отменена» значит, что изменение в базу не попало, хотя попытка была.
Технологический журнал сервера и клиента
Техжурнал включают файлом logcfg.xml. Платформа ищет его в каталоге conf установки 1С:
- Windows:
C:\Program Files\1cv8\conf\logcfg.xml; - Linux:
/opt/1cv8/conf/logcfg.xml.
Файла по умолчанию нет — его создают вручную. Изменения процессы подхватывают сами, примерно в течение минуты. Перезапускать службу не нужно.
Минимальная настройка: писать только исключения и хранить логи сутки.
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1C_TechLog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
Здесь location — куда писать, history — сколько часов хранить файлы. Старые платформа удаляет сама.
Какие события включать под задачу:
| Задача | События |
|---|---|
| Падает ошибка, нужна причина | EXCP |
| Тормозят запросы | DBMSSQL или DBPOSTGRS (по вашей СУБД) |
| Ошибки блокировок, взаимоблокировки | TLOCK, TTIMEOUT, TDEADLOCK |
| Медленные вызовы сервера | CALL, SCALL |
| Проблемы соединения | CONN |
Внутри location платформа создаёт папку на каждый процесс: rphost_4120, rmngr_3876, ragent_2944, 1cv8c_7712. Число — идентификатор процесса. В папке лежат файлы по часам с именами вида 26100714.log: год, месяц, день и час.
Событие DBMSSQL без отбора по длительности за час может записать десятки гигабайт. Ставьте history в несколько часов, следите за диском и выключайте техжурнал после диагностики. Переполненный системный диск остановит службу 1С, и все сеансы пользователей оборвутся.
Права на запись в каталог location нужны пользователю, от имени которого работает служба. Обычно это USR1CV8. Нет прав — папка останется пустой, без всякой ошибки.
Чем отличаются логи в файловом и клиент-серверном режиме
Здесь кроется большинство «журнал пустой» и «логов нет».
| Вопрос | Файловый режим | Клиент-серверный режим |
|---|---|---|
| Где журнал регистрации | 1Cv8Log в каталоге базы | srvinfo\reg_1541\<GUID>\1Cv8Log на сервере |
| Кто пишет журнал | Процесс 1С на компьютере, открывшем базу | Рабочий процесс кластера |
Где действует logcfg.xml | На каждом компьютере, где запускают 1С | На сервере 1С (и отдельно на клиенте, если нужны клиентские события) |
| Процессы в техжурнале | 1cv8c, 1cv8 | rphost, rmngr, ragent |
Для файловой базы в сетевой папке есть нюанс. Записи в журнал делает каждый компьютер, работающий с базой. Если у одного из них нет прав на запись в 1Cv8Log, его действия в журнале пропадут.
Для серверной базы logcfg.xml на компьютере бухгалтера ничего не скажет о запросах к СУБД. Их выполняет рабочий процесс на сервере, и техжурнал надо включать там.
Автоматический сбор и разбор логов
Когда журнал смотрят раз в квартал, хватает окна 1С. Для постоянного контроля разбор автоматизируют.
Выгрузка журнала из кода
Платформа даёт метод ВыгрузитьЖурналРегистрации. Он работает на сервере и выгружает записи в таблицу значений с отбором. Пример: ошибки за последние сутки.
&НаСервере
Процедура ОшибкиЗаСуткиНаСервере()
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 86400);
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
Записи = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Записи, Отбор);
Для Каждого Строка Из Записи Цикл
Сообщить(СтрШаблон("%1 | %2 | %3",
Строка.Дата, Строка.ИмяПользователя, Строка.Комментарий));
КонецЦикла;
КонецПроцедуры
Такую процедуру вешают на регламентное задание и отправляют итог администратору почтой. Свои события программист пишет методом ЗаписьЖурналаРегистрации — тогда в журнале видно и работу доработок.
Поиск по техжурналу без специальных программ
Файлы техжурнала — обычный текст. Ошибки за сутки по всем рабочим процессам находит PowerShell:
Select-String -Path "D:\1C_TechLog\rphost_*\*.log" -Pattern ",EXCP," |
Select-Object -First 50
На Linux то же делает grep -r ",EXCP," /var/log/1c/techlog/ (подставьте свой location).
Для больших объёмов техжурнал отправляют в системы сбора логов: стек Elastic, Graylog, ClickHouse. Там строят графики длительных запросов и блокировок. Это оправдано на серверах с десятками пользователей и постоянными жалобами на скорость.
Почему журнал пустой, тормозит или не открывается
Остановка службы сервера 1С обрывает сеансы всех пользователей кластера. Предупредите людей и делайте это в нерабочее время.