Журнал регистрации 1С: уровень записи, хранение, выгрузка и сбои
Содержание
Журнал регистрации в 1С 8.3 включают в Конфигураторе: Администрирование → Настройка журнала регистрации. В открывшемся окне выберите уровень записи, например «Регистрировать ошибки, предупреждения и информацию», и нажмите «ОК». Перезапуск базы не нужен, новые события начнут писаться сразу. Настройка общая для платформы: одинаково работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и любой другой конфигурации.
Если журнал пустой или в нём нет нужных событий, почти всегда дело в уровне. При «Не регистрировать» платформа не пишет ничего. При «Регистрировать ошибки» вы не увидите, кто и когда изменил документ: эти события относятся к уровню «Информация».
Что даёт журнал регистрации и когда без него не обойтись
Журнал регистрации — встроенный протокол работы информационной базы. Платформа сама записывает в него события, а программист может добавлять свои. Каждая запись содержит дату, пользователя, компьютер, приложение, событие, объект метаданных, данные и комментарий.
Для чего его открывают на практике:
- 🔍 Разбор «кто испортил документ». Видно, кто записал, провёл или удалил объект и во сколько.
- 🚪 Контроль входов. События начала и завершения сеанса показывают, кто работал в базе ночью или в выходные.
- 🛠 Поиск причины ошибки. Пользователь сообщает «что-то вылетело», а в журнале лежит точный текст исключения.
- 🔄 Проверка обменов и регламентных заданий. Типовые конфигурации пишут в журнал результаты загрузки данных и фоновых заданий.
- 🔐 Аудит прав. Изменение пользователей и их настроек тоже фиксируется.
Журнал регистрации не путайте с технологическим журналом. Технологический журнал включается файлом logcfg.xml, пишет низкоуровневые события платформы (запросы к СУБД, блокировки, вызовы сервера) и нужен для поиска причин медленной работы. Журнал регистрации — про действия пользователей и прикладные события.
Уровни регистрации: как включить журнал и что выбрать
Окно настройки одно для файловой и клиент-серверной базы. Порядок такой:
- Запустите базу в режиме Конфигуратор под пользователем с правом администрирования.
- Откройте
Администрирование → Настройка журнала регистрации. - В группе уровней выберите нужный вариант.
- Нажмите «ОК».
Монопольный доступ для этой настройки не требуется: пользователи могут продолжать работать.
| Уровень | Что попадает в журнал | Когда выбирать |
|---|---|---|
| Не регистрировать | Ничего | Почти никогда. Разве что тестовая копия, где история не нужна |
| Регистрировать ошибки | Только ошибки | Диск под журнал очень ограничен |
| Ошибки и предупреждения | Ошибки и предупреждения | Минимум для базы, где следят только за сбоями |
| Ошибки, предупреждения и информацию | Плюс входы, изменения данных, запуск заданий | Рабочий вариант для большинства баз |
| Регистрировать все события | Плюс примечания | Разбор сложного инцидента, затем вернуть уровень ниже |
Для учётной базы, где важно восстановить, кто изменил документ, ставьте уровень с информацией. На уровне «Ошибки и предупреждения» событие изменения данных просто не запишется, и задним числом его не достать.
Уровень действует только на новые события. Если инцидент случился, когда журнал был отключён, восстановить эту историю нельзя.
В том же окне есть кнопка «Сократить». Она удаляет события старше указанной даты и позволяет сохранить удаляемую часть в отдельный файл. Это штатный способ уменьшить разросшийся журнал без ручного удаления файлов.
Где лежат файлы журнала регистрации: пути и форматы
Журнал хранится в папке 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 базы:
- Откройте файл
1CV8Clst.lstв папкеreg_1541текстовым редактором. - Найдите имя вашей базы. Рядом с ним стоит идентификатор вида
5a3f…-…. - Папка с таким именем в
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 — учётная запись службы.
Как настроить журнал регистрации в клиент-серверной базе
Уровень регистрации выставляют так же, через Конфигуратор, подключённый к серверной базе. Отдельной настройки уровня в консоли кластера нет.
Отличия серверного варианта:
- Пишет сервер, а не клиент. Права на
srvinfoнужны учётной записи службы агента сервера 1С (по умолчаниюUSR1CV8). Если службу перевели на другого пользователя и не дали ему права на каталог, журнал перестанет обновляться. - Место занимает сервер 1С. Журналы всех баз кластера лежат в одном
srvinfo. Десяток баз с уровнем «все события» способен заполнить системный диск. - Каталог кластера можно вынести. Если
srvinfoлежит на дискеC:и места мало, его переносят на отдельный диск при переустановке службы. Это плановая работа с остановкой сервера, а не правка на ходу.
Для серверной базы следите за размером reg_1541 хотя бы раз в месяц. Удобно повесить проверку свободного места на мониторинг сервера: заполненный диск под srvinfo останавливает работу всех баз кластера, а не только журнал.
Просмотр, отборы и выгрузка событий
Открыть журнал можно из пользовательского режима или из Конфигуратора.
| Где открыть | Путь |
|---|---|
| БП 3.0, ЗУП 3.1, УТ 11 | Администрирование → Обслуживание → Журнал регистрации (в части релизов раздел называется «Поддержка и обслуживание») |
| Любая конфигурация | Все функции → Стандартные → Журнал регистрации |
| Конфигуратор | Администрирование → Журнал регистрации |
Команда «Все функции» появляется в главном меню после включения флажка «Отображать команду “Все функции”» в Сервис и настройки → Параметры.
Как быстро найти нужное событие
В типовых конфигурациях журнал сразу открывается с отбором за последние дни. Через кнопку «Установить отбор» задайте:
- 📅 период — чем он уже, тем быстрее открывается журнал;
- 👤 пользователя — если ищете действия конкретного сотрудника;
- 🏷 событие — например, «Данные. Удаление» или «Сеанс. Начало»;
- 📦 метаданные — вид документа или справочника;
- ⚠️ важность — чтобы оставить только ошибки.
Чтобы найти, кто изменил конкретный документ, отберите журнал по виду документа в поле метаданных и по периоду вокруг даты изменения. Затем найдите строку по представлению данных: там видны номер и дата документа. Событие «Данные. Изменение» покажет пользователя и компьютер.
Выгрузка для разбора
Журнал можно сохранить в файл прямо из формы просмотра или из Конфигуратора. Выгрузка в XML удобна, когда событие нужно отдать разработчику или поддержке. Для старого формата часто достаточно скопировать нужные файлы .lgp вместе с 1Cv8.lgf: без словаря события не прочитать.
Программная запись и управление журналом
Разработчик может писать в журнал собственные события и менять уровень регистрации из кода. Это удобно для обработок обмена и регламентных заданий: ошибка попадает в журнал с понятным именем события.
Запись собственного события:
ЗаписьЖурналаРегистрации(
"Обмен.ЗагрузкаПрайса",
УровеньЖурналаРегистрации.Ошибка,
Метаданные.Справочники.Номенклатура,
,
"Не удалось загрузить строку " + Формат(НомерСтроки, "ЧГ=0") + ": " + ОписаниеОшибки());
Параметры по порядку: имя события, уровень, объект метаданных, данные (ссылка на объект), комментарий. Имя события лучше делать иерархическим через точку: так его проще отбирать.
Включение уровня с информацией программно:
Уровни = Новый Массив;
Уровни.Добавить(УровеньЖурналаРегистрации.Ошибка);
Уровни.Добавить(УровеньЖурналаРегистрации.Предупреждение);
Уровни.Добавить(УровеньЖурналаРегистрации.Информация);
УстановитьИспользованиеЖурналаРегистрации(Уровни);
Текущую настройку возвращает ПолучитьИспользованиеЖурналаРегистрации(). Для вызова нужно право администрирования, поэтому такой код выполняют на сервере под администратором.
Выгрузка событий в файл из кода — метод ВыгрузитьЖурналРегистрации(). Первым параметром передают путь к файлу или таблицу значений, вторым — структуру отбора:
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()));
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
События = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(События, Отбор);
Для Каждого Строка Из События Цикл
Сообщить(Строка(Строка.Дата) + " " + Строка.ИмяПользователя + ": " + Строка.Комментарий);
КонецЦикла;
Так строят простые отчёты об ошибках за день, не открывая журнал вручную.
Не пишите в журнал события в цикле по тысячам строк. Каждая запись — обращение к файлу журнала, и обработка заметно замедлится. Копите ошибки в массив и пишите одну запись с итогом.
Неполадки журнала регистрации и как их устранить
Администрирование → Настройка журнала регистрации. При «Не регистрировать» записей не будет. Если уровень выставлен, проверьте отбор: в типовых конфигурациях форма открывается с ограничением по периоду.srvinfo или кончилось место на диске. Проверьте свободное место и права на папку 1Cv8Log этой базы.1Cv8.lgd или словарь 1Cv8.lgf. В нерабочее время остановите работу с базой (для сервера — службу агента, сеансы будут прерваны), переименуйте папку 1Cv8Log в 1Cv8Log_old и запустите базу снова. Платформа создаст новый журнал, старый сохранится для разбора.Частые ошибки при работе с журналом
- ❌ Включают «все события» навсегда. Через полгода журнал весит больше самой базы. Максимальный уровень ставьте на время разбора инцидента.
- ❌ Удаляют файлы руками на работающей базе. Это ломает журнал. Для очистки есть кнопка «Сократить».
- ❌ Копируют базу без папки
1Cv8Log. У копии не будет истории. Если история важна для проверки, переносите каталог целиком. - ❌ Ищут журнал серверной базы на SQL-сервере. Его там нет: файлы лежат на сервере 1С в
srvinfo.
Частые вопросы
Влияет ли журнал регистрации на скорость работы 1С?
.lgd на медленном диске.Можно ли включить журнал только для одного пользователя?
Сохранится ли журнал при выгрузке базы в .dt?
.dt содержит конфигурацию и данные, а журнал регистрации в него не входит. Его копируют отдельно, папкой 1Cv8Log.