Где лежат логи 1С: файловая и серверная база, очистка, анализ
Содержание
Журнал регистрации лежит в подкаталоге 1Cv8Log. У файловой базы он находится прямо в каталоге базы, у клиент-серверной — в каталоге кластера на сервере 1С, в папке с идентификатором базы. В SQL Server или PostgreSQL журнал не попадает: СУБД хранит только данные учёта.
Типичная ситуация: пользователь жалуется, что «вчера что-то пропало», а в базе пусто. Или каталог на сервере внезапно съел десятки гигабайт. В обоих случаях надо знать, где искать файлы, как открыть события и как не потерять историю при чистке.
Что именно хранит журнал и в каком виде
Журнал регистрации — это история действий в информационной базе: входы и выходы пользователей, создание и изменение объектов, ошибки, запуск регламентных заданий, обмен данными, административные операции. Каждая запись содержит дату, пользователя, компьютер, приложение, событие, уровень важности и комментарий.
Хранится он отдельно от основных данных. Поэтому его потеря не ломает учёт, но вместе с ним пропадает возможность выяснить, кто и когда изменил документ.
Формат файлов зависит от платформы и настроек:
| Формат | Что в каталоге | Чем читается |
|---|---|---|
| Классический | 1Cv8.lgf, 1Cv8.lgx и файлы .lgp по периодам | Только средствами 1С |
| Новый (SQLite) | один файл 1Cv8.lgd | Средствами 1С; файл можно открыть и SQLite-клиентом |
Определить формат просто: загляните в каталог 1Cv8Log и посмотрите расширения.
Не пытайтесь открывать .lgp блокнотом. Это внутренний текстовый формат платформы: кое-что разобрать можно, но надёжно прочитать журнал можно только через 1С.
Где искать журнал в файловой базе
Файловая база — это каталог с файлом 1Cv8.1CD. Журнал лежит рядом с ним:
<каталог базы>\1Cv8Log
Чтобы узнать каталог базы, откройте окно запуска 1С, выделите базу в списке — путь отображается внизу окна. Можно также нажать «Изменить» и прочитать поле «Каталог информационной базы».
Что полезно знать про файловый вариант:
- 📁 папка создаётся при первой записи события, у только что созданной базы её может не быть;
- 📁 при копировании базы «вручную» не забывайте про
1Cv8Log: без неё вы получите базу с пустой историей; - 📁 размер журнала виден прямо в свойствах папки в проводнике — удобно, когда база «пухнет» и непонятно из-за чего.
Если вы храните базу на сетевом диске, журнал будет там же. Работа через сеть замедляет запись событий, но на обычных объёмах это незаметно.
Куда пишется журнал на сервере 1С и при чём тут SQL Server
Это главное место, где путаются. В клиент-серверной схеме есть три слоя: сервер 1С (кластер), СУБД и клиенты. Журнал регистрации принадлежит кластеру, а не СУБД.
Путь выглядит так:
<каталог кластера>\reg_<порт>\<идентификатор базы>\1Cv8Log
Каталог кластера на Windows по умолчанию называется srvinfo и лежит рядом с установленной платформой. На Linux его расположение задаётся при установке сервера, чаще всего это домашний каталог пользователя, от имени которого работает служба.
Порт в имени reg_ — это порт менеджера кластера, обычно 1541. Значит, типичный путь начинается так: ...\srvinfo\reg_1541\.
Как найти нужный идентификатор
В каталоге reg_1541 будет несколько папок с длинными именами-GUID: каждая соответствует одной базе, плюс служебные. Найти свою можно двумя способами:
- Через консоль администрирования серверов 1С: откройте свойства информационной базы в нужном кластере и сверьте идентификатор.
- Через утилиту
rac: командаrac infobase summary listвыводит список баз кластера с их идентификаторами (infobase) и именами (name).
Если в srvinfo лежит несколько баз, не гадайте по дате изменения папки. Удалённая по ошибке чужая папка — это потерянная история другой базы.
Что с SQL Server и PostgreSQL? В них вы не найдёте таблицу журнала. Нагрузка на СУБД от журнала нулевая, но он занимает место на диске сервера 1С. Поэтому диск с srvinfo мониторьте отдельно от диска с базами данных.
1Cv8Log. Путь к каталогу виден в окне запуска 1С.srvinfo → reg_<порт> → папка с идентификатором базы → 1Cv8Log. Идентификатор покажет консоль администрирования или rac infobase summary list.Как открыть и просмотреть журнал без поиска файлов
Для просмотра путь к файлам не нужен. Есть два входа:
- Конфигуратор. Меню
Администрирование → Журнал регистрации. Работает и для файловой, и для серверной базы. - Режим 1С:Предприятие. В типовых конфигурациях на базе БСП это раздел
Администрирование, подраздел «Поддержка и обслуживание», ссылка «Журнал регистрации». Название подраздела может немного отличаться по конфигурациям.
Нужна роль с правом просмотра журнала; у пользователя с полными правами оно есть.
Отбор, который реально помогает
Журнал по умолчанию огромен, поэтому сразу ставьте отбор. Самые полезные поля:
- 🕐 Интервал дат — сузьте до часа-двух вокруг происшествия;
- 👤 Пользователь — чьи действия смотрим;
- ⚠️ Уровень — «Ошибка» и «Предупреждение» отсекают тысячи рядовых записей;
- 🧩 Событие — например, вход в систему, изменение данных, проведение;
- 📄 Метаданные — конкретный документ или справочник;
- 🖥️ Компьютер и приложение — отличить работу клиента от фонового задания.
Двойной щелчок по записи открывает подробности: комментарий с текстом ошибки, представление данных, номер сеанса. Если в списке есть строка, которая вас интересует, используйте «Отбор по текущему значению» — это быстрее, чем набирать условия вручную.
Типовые поиски
- Кто удалил или изменил документ. Уровень «Информация», событие вида «Данные. Изменение» или «Данные. Удаление», метаданные — нужный тип документа.
- Почему не прошло регламентное задание. Отбор по событию, относящемуся к регламентным заданиям, и уровню «Ошибка».
- Кто и когда заходил под пользователем. События аутентификации и начала сеанса, фильтр по пользователю.
Нужно, чтобы журнал отвечал на вопрос «кто изменил данные», — проверьте, что в базе вообще включена запись событий изменения. В части конфигураций это регулируется настройками журнала, и на старте многие это пропускают.
Настройка хранения: период разделения и объём
Параметры журнала открываются там же: Администрирование → Журнал регистрации, затем команда настроек. Тут два практических решения.
Период разделения
Журнал складывается в файлы по периодам. Выбор периода — это компромисс:
| Период | Когда подходит | Минус |
|---|---|---|
| Короткий (день, неделя) | Большая нагрузка, много пользователей | Много файлов, поиск по длинному интервалу идёт дольше |
| Длинный (месяц, год) | Небольшая база, мало событий | Один файл разрастается, чистка менее гибкая |
Для базы с десятком пользователей хватает месяца. Для базы на сотни сеансов лучше день или неделя: так проще архивировать и удалять старое целыми кусками.
Что записывать
В настройках можно задать уровни событий, которые вы хотите видеть. Лишний шум — это обычно записи уровня «Информация» от массовых операций. Но не отключайте их полностью: без них вы не найдёте виновника при разборе инцидента.
Разумный набор для боевой базы:
- ✅ ошибки и предупреждения — всегда;
- ✅ события доступа и управления пользователями — всегда;
- ✅ изменения данных — для баз, где требуется контроль действий.
Очистка и сокращение журнала
Журнал сам не ограничивает свой размер. Если ничего не настроить, за год он может вырасти настолько, что переполнит диск сервера.
Штатный способ — сокращение:
- Откройте
Администрирование → Журнал регистрациив Конфигураторе. - Вызовите команду сокращения журнала.
- Укажите дату: записи старше неё будут удалены.
- Решите, сохранять ли удаляемое: платформа предлагает перед удалением выгрузить записи в файл.
- Подтвердите действие.
Операция занимает время, пропорциональное объёму журнала, и нагружает диск. Запускайте её вне рабочих часов.
Перед сокращением выгрузите старый журнал в архив. Восстановить удалённые записи нельзя, а через полгода именно они могут понадобиться для проверки или внутреннего расследования.
Сколько хранить? Ориентировочно: от трёх месяцев до года для обычных баз. Если бухгалтерия обязана отвечать на запросы аудиторов, храните дольше, но в архиве, а не в рабочей базе.
Чего делать не стоит
- 🚫 Не удаляйте файлы из
1Cv8Logвручную при работающей базе: платформа держит их открытыми, а запись о новых событиях может оборваться. - 🚫 Не чистите папку, не зная, какой именно базе она принадлежит (см. выше про GUID).
- 🚫 Не отключайте журнал целиком ради экономии места. Выигрыш невелик, а при сбое вы остаётесь без следов.
Если место на диске критично, а базу остановить нельзя, начните с сокращения по дате: это штатная операция без риска для структуры.
Анализ и поиск событий средствами 1С
Окно журнала подходит для разовых вопросов. Если нужно проанализировать тысячи записей, удобнее выгрузить их в таблицу значений и обработать кодом.
Для этого есть метод ВыгрузитьЖурналРегистрации. Он принимает таблицу значений, структуру отбора и, при желании, список колонок:
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()) - 86400);
Отбор.Вставить("ДатаОкончания", НачалоДня(ТекущаяДата()));
Отбор.Вставить("Уровень", "Ошибка");
ТаблицаЖР = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(ТаблицаЖР, Отбор);
Для Каждого Запись Из ТаблицаЖР Цикл
Сообщить(Строка(Запись.ДатаВремя) + " " + Запись.Пользователь + ": " + Запись.Комментарий);
КонецЦикла;
Пример собирает все ошибки за вчерашний день и выводит время, пользователя и текст. Отбор можно ужесточить: добавить событие, пользователя или метаданные.
Метод обращается к тому же журналу, что и интерфейс. Поэтому на больших объёмах всегда ограничивайте период: выгрузка без отбора может занять много времени и памяти.
Свои записи в журнал
Чтобы ваш код оставлял след, пишите события через ЗаписьЖурналаРегистрации:
ЗаписьЖурналаРегистрации(
"Обмен.Загрузка",
УровеньЖурналаРегистрации.Ошибка,
,
,
"Не удалось загрузить файл: " + ОписаниеОшибки());
Первым параметром идёт имя события. Придерживайтесь единого стиля имён, например «Раздел.Действие»: тогда по нему легко делать отбор.
Если вы разработчик, не пишите в журнал каждую мелочь. Чем больше шума, тем быстрее он растёт и тем сложнее найти важное.
Мониторинг журнала внешними средствами
Сидеть и смотреть журнал вручную можно только в маленькой базе. В организациях, где баз несколько, чаще автоматизируют.
Рабочие схемы:
- 📬 Регламентное задание на выгрузку ошибок. Раз в час выбираете ошибки через
ВыгрузитьЖурналРегистрациии отправляете сводку на почту или в мессенджер администратору. - 🗄️ Регулярная выгрузка в архив. Перед ежемесячным сокращением сохраняете записи старше нужной даты во внешнее хранилище.
- 📊 Передача во внешнюю систему мониторинга. Выгруженные записи отправляете в систему сбора логов, где по ним строятся дашборды и оповещения. Выгрузку удобнее делать порциями по времени, чтобы не нагружать рабочую базу.
- 🔎 Формат SQLite. Если включён новый формат журнала, файл
1Cv8.lgdчитается обычными SQLite-инструментами. Но читайте его копию, а не рабочий файл, чтобы не помешать платформе.
Мониторить стоит не только содержимое, но и размер. Проверка раз в сутки, что 1Cv8Log не превысила заданный порог, предупредит о переполнении диска заранее.