Где лежат логи 1С: файловая и серверная база, очистка, анализ

· 9 мин

Содержание

Журнал регистрации лежит в подкаталоге 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. Через консоль администрирования серверов 1С: откройте свойства информационной базы в нужном кластере и сверьте идентификатор.
  2. Через утилиту rac: команда rac infobase summary list выводит список баз кластера с их идентификаторами (infobase) и именами (name).

Если в srvinfo лежит несколько баз, не гадайте по дате изменения папки. Удалённая по ошибке чужая папка — это потерянная история другой базы.

Что с SQL Server и PostgreSQL? В них вы не найдёте таблицу журнала. Нагрузка на СУБД от журнала нулевая, но он занимает место на диске сервера 1С. Поэтому диск с srvinfo мониторьте отдельно от диска с базами данных.

Где искать журнал регистрации?

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

Для просмотра путь к файлам не нужен. Есть два входа:

  1. Конфигуратор. Меню Администрирование → Журнал регистрации. Работает и для файловой, и для серверной базы.
  2. Режим 1С:Предприятие. В типовых конфигурациях на базе БСП это раздел Администрирование, подраздел «Поддержка и обслуживание», ссылка «Журнал регистрации». Название подраздела может немного отличаться по конфигурациям.

Нужна роль с правом просмотра журнала; у пользователя с полными правами оно есть.

Отбор, который реально помогает

Журнал по умолчанию огромен, поэтому сразу ставьте отбор. Самые полезные поля:

  • 🕐 Интервал дат — сузьте до часа-двух вокруг происшествия;
  • 👤 Пользователь — чьи действия смотрим;
  • ⚠️ Уровень — «Ошибка» и «Предупреждение» отсекают тысячи рядовых записей;
  • 🧩 Событие — например, вход в систему, изменение данных, проведение;
  • 📄 Метаданные — конкретный документ или справочник;
  • 🖥️ Компьютер и приложение — отличить работу клиента от фонового задания.

Двойной щелчок по записи открывает подробности: комментарий с текстом ошибки, представление данных, номер сеанса. Если в списке есть строка, которая вас интересует, используйте «Отбор по текущему значению» — это быстрее, чем набирать условия вручную.

Типовые поиски

  • Кто удалил или изменил документ. Уровень «Информация», событие вида «Данные. Изменение» или «Данные. Удаление», метаданные — нужный тип документа.
  • Почему не прошло регламентное задание. Отбор по событию, относящемуся к регламентным заданиям, и уровню «Ошибка».
  • Кто и когда заходил под пользователем. События аутентификации и начала сеанса, фильтр по пользователю.

Нужно, чтобы журнал отвечал на вопрос «кто изменил данные», — проверьте, что в базе вообще включена запись событий изменения. В части конфигураций это регулируется настройками журнала, и на старте многие это пропускают.

Настройка хранения: период разделения и объём

Параметры журнала открываются там же: Администрирование → Журнал регистрации, затем команда настроек. Тут два практических решения.

Период разделения

Журнал складывается в файлы по периодам. Выбор периода — это компромисс:

ПериодКогда подходитМинус
Короткий (день, неделя)Большая нагрузка, много пользователейМного файлов, поиск по длинному интервалу идёт дольше
Длинный (месяц, год)Небольшая база, мало событийОдин файл разрастается, чистка менее гибкая

Для базы с десятком пользователей хватает месяца. Для базы на сотни сеансов лучше день или неделя: так проще архивировать и удалять старое целыми кусками.

Что записывать

В настройках можно задать уровни событий, которые вы хотите видеть. Лишний шум — это обычно записи уровня «Информация» от массовых операций. Но не отключайте их полностью: без них вы не найдёте виновника при разборе инцидента.

Разумный набор для боевой базы:

  • ✅ ошибки и предупреждения — всегда;
  • ✅ события доступа и управления пользователями — всегда;
  • ✅ изменения данных — для баз, где требуется контроль действий.

Очистка и сокращение журнала

Журнал сам не ограничивает свой размер. Если ничего не настроить, за год он может вырасти настолько, что переполнит диск сервера.

Штатный способ — сокращение:

  1. Откройте Администрирование → Журнал регистрации в Конфигураторе.
  2. Вызовите команду сокращения журнала.
  3. Укажите дату: записи старше неё будут удалены.
  4. Решите, сохранять ли удаляемое: платформа предлагает перед удалением выгрузить записи в файл.
  5. Подтвердите действие.

Операция занимает время, пропорциональное объёму журнала, и нагружает диск. Запускайте её вне рабочих часов.

Перед сокращением выгрузите старый журнал в архив. Восстановить удалённые записи нельзя, а через полгода именно они могут понадобиться для проверки или внутреннего расследования.

Сколько хранить? Ориентировочно: от трёх месяцев до года для обычных баз. Если бухгалтерия обязана отвечать на запросы аудиторов, храните дольше, но в архиве, а не в рабочей базе.

Чего делать не стоит

  • 🚫 Не удаляйте файлы из 1Cv8Log вручную при работающей базе: платформа держит их открытыми, а запись о новых событиях может оборваться.
  • 🚫 Не чистите папку, не зная, какой именно базе она принадлежит (см. выше про GUID).
  • 🚫 Не отключайте журнал целиком ради экономии места. Выигрыш невелик, а при сбое вы остаётесь без следов.

Если место на диске критично, а базу остановить нельзя, начните с сокращения по дате: это штатная операция без риска для структуры.

Анализ и поиск событий средствами 1С

Окно журнала подходит для разовых вопросов. Если нужно проанализировать тысячи записей, удобнее выгрузить их в таблицу значений и обработать кодом.

Для этого есть метод ВыгрузитьЖурналРегистрации. Он принимает таблицу значений, структуру отбора и, при желании, список колонок:

Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()) - 86400);
Отбор.Вставить("ДатаОкончания", НачалоДня(ТекущаяДата()));
Отбор.Вставить("Уровень", "Ошибка");

ТаблицаЖР = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(ТаблицаЖР, Отбор);

Для Каждого Запись Из ТаблицаЖР Цикл
    Сообщить(Строка(Запись.ДатаВремя) + " " + Запись.Пользователь + ": " + Запись.Комментарий);
КонецЦикла;

Пример собирает все ошибки за вчерашний день и выводит время, пользователя и текст. Отбор можно ужесточить: добавить событие, пользователя или метаданные.

Метод обращается к тому же журналу, что и интерфейс. Поэтому на больших объёмах всегда ограничивайте период: выгрузка без отбора может занять много времени и памяти.

Свои записи в журнал

Чтобы ваш код оставлял след, пишите события через ЗаписьЖурналаРегистрации:

ЗаписьЖурналаРегистрации(
    "Обмен.Загрузка",
    УровеньЖурналаРегистрации.Ошибка,
    ,
    ,
    "Не удалось загрузить файл: " + ОписаниеОшибки());

Первым параметром идёт имя события. Придерживайтесь единого стиля имён, например «Раздел.Действие»: тогда по нему легко делать отбор.

Если вы разработчик, не пишите в журнал каждую мелочь. Чем больше шума, тем быстрее он растёт и тем сложнее найти важное.

Мониторинг журнала внешними средствами

Сидеть и смотреть журнал вручную можно только в маленькой базе. В организациях, где баз несколько, чаще автоматизируют.

Рабочие схемы:

  • 📬 Регламентное задание на выгрузку ошибок. Раз в час выбираете ошибки через ВыгрузитьЖурналРегистрации и отправляете сводку на почту или в мессенджер администратору.
  • 🗄️ Регулярная выгрузка в архив. Перед ежемесячным сокращением сохраняете записи старше нужной даты во внешнее хранилище.
  • 📊 Передача во внешнюю систему мониторинга. Выгруженные записи отправляете в систему сбора логов, где по ним строятся дашборды и оповещения. Выгрузку удобнее делать порциями по времени, чтобы не нагружать рабочую базу.
  • 🔎 Формат SQLite. Если включён новый формат журнала, файл 1Cv8.lgd читается обычными SQLite-инструментами. Но читайте его копию, а не рабочий файл, чтобы не помешать платформе.

Мониторить стоит не только содержимое, но и размер. Проверка раз в сутки, что 1Cv8Log не превысила заданный порог, предупредит о переполнении диска заранее.

Контроль журнала регистрации
Выполнено: 0 / 5

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

Почему журнала нет в SQL Server?
Журнал регистрации хранится в файлах на сервере 1С (в каталоге кластера), а не в СУБД. СУБД содержит только основные данные информационной базы.
Можно ли перенести журнал на другой диск?
Сам по себе перенос зависит от платформы и схемы развёртывания. Надёжнее перенести весь каталог кластера на новый диск и перенастроить службу, чем перекладывать отдельные папки.
Что будет, если удалить папку 1Cv8Log?
История событий пропадёт. Платформа создаст журнал заново при следующей записи, но прежние записи вернуть не получится. Делайте это только на остановленной базе и только осознанно.
Видит ли журнал пользователь без прав администратора?
Нет. Просмотр журнала требует отдельного права в роли, поэтому обычные пользователи его не откроют.
Как проверить, что журнал вообще ведётся?
Откройте его в Конфигураторе и выставьте отбор на последние минуты. Если вы только что вошли в базу, там должна быть запись о начале сеанса.