Анализ и оптимизация размера Журнала Регистрации 1С (lgf/lgd)
- Открытие журнала регистрации в режиме предприятия занимает несколько минут или приводит к зависанию сеанса.
- Каталог журнала регистрации (
1Cv8Log) занимает сотни гигабайт дискового пространства. - Ошибка
Недостаточно памяти для отображения журнала регистрации. - Резкое падение скорости проведения документов из-за синхронной записи каждого действия в огромный журнал.
1. Архитектура хранения журнала регистрации
Журнал регистрации хранится в подкаталоге информационной базы 1Cv8Log внутри рабочего каталога кластера. Существует два формата:
- Старый текстовый формат: Файл
1Cv8.lgfи тысячи файлов*.lgp(по дням/месяцам); - Новый формат SQLite: Единый файл базы данных
1Cv8.lgd.
2. Настройка уровня детализации событий
Для предотвращения разрастания журнала отключите избыточное логирование в Конфигураторе:
- Меню Администрирование -> Настройка журнала регистрации.
- Выберите режим: Регистрировать ошибки, предупреждения (или Ошибки, предупреждения, информацию без транзакций).
- Отключите флаг Регистрировать транзакции, если не требуется детальный аудит коммитов/откатов.
3. Сокращение журнала регистрации через Конфигуратор
- В Конфигураторе откройте Администрирование -> Сократить журнал регистрации.
- Укажите дату, до которой события будут удалены (например, старше 6 месяцев).
- При необходимости установите флаг Сохранить удаляемые события в файл для создания внешнего архива.
- Нажмите ОК.
4. Сокращение через скрипт командной строки
# Запуск утилиты 1С в пакетном режиме для обрезки журнала
"C:\Program Files\1cv8\8.3.23.1865\bin\1cv8.exe" DESIGNER \
/S "srv-1c.corp.local\trade_production" \
/N "Admin" /P "StrongPassword" \
/ReduceEventLogDate 2023-01-01 \
/Out "C:\temp\log_reduce.log" Частые вопросы (FAQ)
Почему после сокращения журнала файл 1Cv8.lgd не уменьшился на диске?
Формат SQLite после удаления записей не отдает место ОС автоматически, а помечает страницы свободными. Для физического уменьшения размера требуется выполнить VACUUM через утилиту sqlite3.
Как выполнить сжатие (VACUUM) файла 1Cv8.lgd?
Остановите службу 1С, установите sqlite3 и выполните команду: sqlite3 /path/to/1Cv8Log/1Cv8.lgd 'VACUUM;'.
Можно ли полностью удалить папку 1Cv8Log?
При остановленной службе 1С удаление папки 1Cv8Log приведет к созданию нового пустого журнала при следующем старте. Вся история событий будет безвозвратно удалена.
Влияет ли размер журнала регистрации на скорость проведения документов?
Да, при высокой частоте транзакций синхронная запись в переполненный файл журнала создает блокировки на дисковой подсистеме и замедляет проведение.