Журнал регистрации 1С: уровень записи, хранение, выгрузка и сбои

· 9 мин

Содержание

Журнал регистрации в 1С 8.3 включают в Конфигураторе: Администрирование → Настройка журнала регистрации. В открывшемся окне выберите уровень записи, например «Регистрировать ошибки, предупреждения и информацию», и нажмите «ОК». Перезапуск базы не нужен, новые события начнут писаться сразу. Настройка общая для платформы: одинаково работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и любой другой конфигурации.

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

Что даёт журнал регистрации и когда без него не обойтись

Журнал регистрации — встроенный протокол работы информационной базы. Платформа сама записывает в него события, а программист может добавлять свои. Каждая запись содержит дату, пользователя, компьютер, приложение, событие, объект метаданных, данные и комментарий.

Для чего его открывают на практике:

  • 🔍 Разбор «кто испортил документ». Видно, кто записал, провёл или удалил объект и во сколько.
  • 🚪 Контроль входов. События начала и завершения сеанса показывают, кто работал в базе ночью или в выходные.
  • 🛠 Поиск причины ошибки. Пользователь сообщает «что-то вылетело», а в журнале лежит точный текст исключения.
  • 🔄 Проверка обменов и регламентных заданий. Типовые конфигурации пишут в журнал результаты загрузки данных и фоновых заданий.
  • 🔐 Аудит прав. Изменение пользователей и их настроек тоже фиксируется.

Журнал регистрации не путайте с технологическим журналом. Технологический журнал включается файлом logcfg.xml, пишет низкоуровневые события платформы (запросы к СУБД, блокировки, вызовы сервера) и нужен для поиска причин медленной работы. Журнал регистрации — про действия пользователей и прикладные события.

Уровни регистрации: как включить журнал и что выбрать

Окно настройки одно для файловой и клиент-серверной базы. Порядок такой:

  1. Запустите базу в режиме Конфигуратор под пользователем с правом администрирования.
  2. Откройте Администрирование → Настройка журнала регистрации.
  3. В группе уровней выберите нужный вариант.
  4. Нажмите «ОК».

Монопольный доступ для этой настройки не требуется: пользователи могут продолжать работать.

УровеньЧто попадает в журналКогда выбирать
Не регистрироватьНичегоПочти никогда. Разве что тестовая копия, где история не нужна
Регистрировать ошибкиТолько ошибкиДиск под журнал очень ограничен
Ошибки и предупрежденияОшибки и предупрежденияМинимум для базы, где следят только за сбоями
Ошибки, предупреждения и информациюПлюс входы, изменения данных, запуск заданийРабочий вариант для большинства баз
Регистрировать все событияПлюс примечанияРазбор сложного инцидента, затем вернуть уровень ниже

Для учётной базы, где важно восстановить, кто изменил документ, ставьте уровень с информацией. На уровне «Ошибки и предупреждения» событие изменения данных просто не запишется, и задним числом его не достать.

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

В том же окне есть кнопка «Сократить». Она удаляет события старше указанной даты и позволяет сохранить удаляемую часть в отдельный файл. Это штатный способ уменьшить разросшийся журнал без ручного удаления файлов.

Где лежат файлы журнала регистрации: пути и форматы

Журнал хранится в папке 1Cv8Log. Её расположение зависит от варианта работы базы.

Файловая база

Папка 1Cv8Log лежит прямо в каталоге базы, рядом с файлом 1Cv8.1CD. Путь к каталогу виден в окне запуска 1С: выделите базу в списке, и внизу окна отобразится строка вида File="D:\Bases\Buh". Значит, журнал находится в D:\Bases\Buh\1Cv8Log.

Клиент-серверная база

Журнал хранится не на SQL-сервере, а на сервере 1С, в каталоге кластера:

  • Windows: C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log
  • Linux: /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log

Число 1541 — порт менеджера кластера. Если кластер поднят на другом порту, имя папки будет другим. Каталог srvinfo тоже мог быть перенесён при установке, его путь указан в параметрах запуска службы агента сервера 1С.

Как узнать GUID базы:

  1. Откройте файл 1CV8Clst.lst в папке reg_1541 текстовым редактором.
  2. Найдите имя вашей базы. Рядом с ним стоит идентификатор вида 5a3f…-….
  3. Папка с таким именем в reg_1541 и есть каталог базы.

Второй способ — консоль администрирования серверов: свойства информационной базы показывают её идентификатор.

Два формата файлов

ФорматФайлыОсобенности
Последовательный (старый)1Cv8.lgf — словарь, *.lgp — события по периодамТекстовые файлы, легко архивировать по частям
SQLite (с версии 8.3.5)один файл 1Cv8.lgdБаза SQLite, удобна для отборов, но один файл может вырасти до десятков гигабайт

Определить формат просто: загляните в 1Cv8Log. Есть .lgp — старый формат, есть .lgd — новый.

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

Особенности включения журнала регистрации в файловой базе

В файловом варианте всё упирается в права на папку. Журнал пишет процесс клиента 1С от имени пользователя Windows, который запустил программу. Если у него нет права записи в 1Cv8Log, события не сохраняются.

Что проверить:

  • 📁 Пользователи Windows имеют право изменения на весь каталог базы, а не только на 1Cv8.1CD.
  • 🌐 При работе по сети права выданы и на общий ресурс, и на файловую систему.
  • 💾 На диске есть свободное место. Журнал растёт постоянно, на активной базе это гигабайты за год.
  • 🛡 Антивирус не блокирует файлы .lgp и .lgd. Каталог базы разумно добавить в исключения проверки на лету.

При веб-публикации файловой базы журнал пишет процесс веб-сервера. Права на каталог базы нужны его учётной записи: для IIS это пользователь пула приложений, для Apache — учётная запись службы.

Как настроить журнал регистрации в клиент-серверной базе

Уровень регистрации выставляют так же, через Конфигуратор, подключённый к серверной базе. Отдельной настройки уровня в консоли кластера нет.

Отличия серверного варианта:

  1. Пишет сервер, а не клиент. Права на srvinfo нужны учётной записи службы агента сервера 1С (по умолчанию USR1CV8). Если службу перевели на другого пользователя и не дали ему права на каталог, журнал перестанет обновляться.
  2. Место занимает сервер 1С. Журналы всех баз кластера лежат в одном srvinfo. Десяток баз с уровнем «все события» способен заполнить системный диск.
  3. Каталог кластера можно вынести. Если srvinfo лежит на диске C: и места мало, его переносят на отдельный диск при переустановке службы. Это плановая работа с остановкой сервера, а не правка на ходу.

Для серверной базы следите за размером reg_1541 хотя бы раз в месяц. Удобно повесить проверку свободного места на мониторинг сервера: заполненный диск под srvinfo останавливает работу всех баз кластера, а не только журнал.

Просмотр, отборы и выгрузка событий

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

Где открытьПуть
БП 3.0, ЗУП 3.1, УТ 11Администрирование → Обслуживание → Журнал регистрации (в части релизов раздел называется «Поддержка и обслуживание»)
Любая конфигурацияВсе функции → Стандартные → Журнал регистрации
КонфигураторАдминистрирование → Журнал регистрации

Команда «Все функции» появляется в главном меню после включения флажка «Отображать команду “Все функции”» в Сервис и настройки → Параметры.

Как быстро найти нужное событие

В типовых конфигурациях журнал сразу открывается с отбором за последние дни. Через кнопку «Установить отбор» задайте:

  • 📅 период — чем он уже, тем быстрее открывается журнал;
  • 👤 пользователя — если ищете действия конкретного сотрудника;
  • 🏷 событие — например, «Данные. Удаление» или «Сеанс. Начало»;
  • 📦 метаданные — вид документа или справочника;
  • ⚠️ важность — чтобы оставить только ошибки.

Чтобы найти, кто изменил конкретный документ, отберите журнал по виду документа в поле метаданных и по периоду вокруг даты изменения. Затем найдите строку по представлению данных: там видны номер и дата документа. Событие «Данные. Изменение» покажет пользователя и компьютер.

Выгрузка для разбора

Журнал можно сохранить в файл прямо из формы просмотра или из Конфигуратора. Выгрузка в XML удобна, когда событие нужно отдать разработчику или поддержке. Для старого формата часто достаточно скопировать нужные файлы .lgp вместе с 1Cv8.lgf: без словаря события не прочитать.

Программная запись и управление журналом

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

Запись собственного события:

ЗаписьЖурналаРегистрации(
    "Обмен.ЗагрузкаПрайса",
    УровеньЖурналаРегистрации.Ошибка,
    Метаданные.Справочники.Номенклатура,
    ,
    "Не удалось загрузить строку " + Формат(НомерСтроки, "ЧГ=0") + ": " + ОписаниеОшибки());

Параметры по порядку: имя события, уровень, объект метаданных, данные (ссылка на объект), комментарий. Имя события лучше делать иерархическим через точку: так его проще отбирать.

Включение уровня с информацией программно:

Уровни = Новый Массив;
Уровни.Добавить(УровеньЖурналаРегистрации.Ошибка);
Уровни.Добавить(УровеньЖурналаРегистрации.Предупреждение);
Уровни.Добавить(УровеньЖурналаРегистрации.Информация);
УстановитьИспользованиеЖурналаРегистрации(Уровни);

Текущую настройку возвращает ПолучитьИспользованиеЖурналаРегистрации(). Для вызова нужно право администрирования, поэтому такой код выполняют на сервере под администратором.

Выгрузка событий в файл из кода — метод ВыгрузитьЖурналРегистрации(). Первым параметром передают путь к файлу или таблицу значений, вторым — структуру отбора:

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

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

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

Так строят простые отчёты об ошибках за день, не открывая журнал вручную.

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

Неполадки журнала регистрации и как их устранить

Диагностика: выберите симптом

Частые ошибки при работе с журналом

  • ❌ Включают «все события» навсегда. Через полгода журнал весит больше самой базы. Максимальный уровень ставьте на время разбора инцидента.
  • ❌ Удаляют файлы руками на работающей базе. Это ломает журнал. Для очистки есть кнопка «Сократить».
  • ❌ Копируют базу без папки 1Cv8Log. У копии не будет истории. Если история важна для проверки, переносите каталог целиком.
  • ❌ Ищут журнал серверной базы на SQL-сервере. Его там нет: файлы лежат на сервере 1С в srvinfo.

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

Влияет ли журнал регистрации на скорость работы 1С?
На уровне «Ошибки, предупреждения и информация» влияние почти незаметно. Ощутимое замедление дают уровень «все события» на нагруженной базе и большой файл .lgd на медленном диске.
Можно ли включить журнал только для одного пользователя?
Нет. Уровень задаётся на всю информационную базу. Отбор по пользователю делают при просмотре журнала.
Сохранится ли журнал при выгрузке базы в .dt?
Нет. Файл .dt содержит конфигурацию и данные, а журнал регистрации в него не входит. Его копируют отдельно, папкой 1Cv8Log.
Как долго хранятся события?
Пока их не удалят. Платформа сама журнал не чистит, поэтому объём ограничивает только место на диске и ваша регламентная очистка кнопкой «Сократить».
Может ли пользователь без прав администратора открыть журнал?
Для просмотра журнала нужно соответствующее право в роли. В типовых конфигурациях его дают администраторам, обычный бухгалтер журнал не видит.