Администрирование · 9 мин
Как открыть LGD-файл 1С и разобрать технологический журнал
Что такое LGD-файл в 1С, чем открыть технологический журнал, как настроить logcfg.xml, проанализировать события и исправить типичные ошибки просмотра.
Файлы с расширением .lgd создаёт платформа 1С:Предприятие при включённом технологическом журнале — это текстовые протоколы событий сервера и клиента: запросы к СУБД, вызовы, ошибки, блокировки. Возникают они не сами по себе, а только если администратор разместил конфигурационный файл logcfg.xml в каталоге conf платформы. Поэтому первый вопрос при виде LGD-файла — откуда он взялся и какой процесс его писал.
Открыть такой файл можно обычным текстовым редактором, но для реального анализа удобнее специализированные средства: встроенный просмотр в консоли кластера недоступен, поэтому используют Notepad++, бесплатные разборщики технологического журнала или обработки для 1С. Выбор инструмента зависит от объёма файла и задачи — быстро найти ошибку или построить статистику по длительным запросам.
Что находится внутри LGD-файла
Каждая строка технологического журнала — это событие в строгом формате: длительность в микросекундах, имя события (DBMSSQL, DBPOSTGRS, EXCP, CALL, TLOCK и другие), затем пары «свойство=значение» через запятую. События одного вызова могут группироваться по идентификатору соединения и номеру интерфейса, что позволяет восстановить цепочку действий.
Файлы ротируются автоматически: платформа создаёт новый файл по истечении интервала, заданного в logcfg.xml параметром history, либо при достижении времени жизни журнала. Имена файлов содержат метку времени и имя процесса (rphost, rmngr, 1cv8), поэтому по имени уже можно понять, какой рабочий процесс сервера писал этот фрагмент.
Как включить запись LGD-файлов, если журнал не пишется
Если в каталоге технологического журнала пусто, запись не настроена. Создайте файл logcfg.xml в подкаталоге conf каталога установки платформы (например, C:\Program Files\1cv8\<версия>\bin\conf) или в каталоге conf рядом с исполняемыми файлами сервера. Минимальный конфиг включает запись ошибок и событий СУБД в указанный каталог.
После создания файла перезапускать сервер 1С не обязательно — платформа подхватывает конфигурацию автоматически в течение короткого времени. Проверьте, что у учётной записи агента сервера есть права на запись в целевой каталог, иначе файлы не появятся без каких-либо сообщений об ошибке.
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1clogs" history="24">
<event><eq property="name" value="EXCP"/></event>
<event><eq property="name" value="DBMSSQL"/></event>
<property name="all"/>
</log>
</config>Не включайте полный дамп всех событий на постоянной основе: при интенсивной работе журнал растёт очень быстро и может занять десятки гигабайт за день. Для постоянного мониторинга ограничьтесь ошибками (EXCP) и длительными событиями через условия по длительности.
Чем открыть LGD-файл для просмотра
Самый простой способ — Notepad++ или аналогичный редактор, устойчивый к большим файлам. Стандартный «Блокнот» Windows на файлах в сотни мегабайт зависает. В Notepad++ удобно искать по имени события: например, Ctrl+F и строка «EXCP» покажет все исключения, а «DBMSSQL» — запросы к SQL Server.
Для регулярного анализа удобнее специализированные инструменты: бесплатные разборщики технологического журнала (например, решения на базе OneScript или обработки-анализаторы ТЖ), которые парсят события в таблицу с фильтрами по длительности, пользователю, типу события. Они строят топ длительных запросов и группируют ошибки — вручную это делать непрактично.
Сравнение способов открытия
Подходит для разового поиска конкретной ошибки или строки. Ограничение: нет группировки событий и статистики, сложно читать большие файлы.
Подходят для анализа производительности и массовых ошибок: фильтры, топ запросов, группировка. Ограничение: требуется установка и обучение.
Подходит, когда анализ ведёт бухгалтер-аналитик или разработчик в привычной среде. Ограничение: большие файлы загружаются долго.
Как прочитать событие и найти нужное
Начните с конца файла, если ищете свежую ошибку: события пишутся хронологически. Найдите поиском метку времени проблемы, затем смотрите события EXCP вокруг неё. В свойствах события ищите Descr (описание), Context (контекст кода 1С), Usr (пользователь) и процесс с именем базы.
Для проблем производительности фильтруйте события DBMSSQL или DBPOSTGRS по длительности — число в начале строки до имени события. Значение в десятки миллионов микросекунд означает запрос длительностью в десятки секунд. Свойство Sql содержит текст запроса, а planSQLText — план выполнения, если его запись включена.
- 1Определите примерное время возникновения проблемы по словам пользователя или журналу регистрации
- 2Откройте LGD-файл нужного процесса (rphost) за этот период в Notepad++
- 3Найдите поиском события EXCP вокруг нужной метки времени
- 4Изучите свойства Descr и Context — там причина и место в коде
- 5Проверьте соседние события DBMSSQL/TLOCK, если ошибка связана с запросом или блокировкой
Типичные проблемы при открытии и их решение
Файл не открывается из-за размера — разбейте его: в Notepad++ откройте только часть через Far Manager (просмотр по F3 умеет работать с огромными файлами без загрузки в память) или используйте PowerShell-команду Get-Content с параметром -Tail для чтения последних строк.
Кракозябры вместо русского текста означают неверную кодировку: технологический журнал пишется в UTF-8, поэтому в редакторе вручную переключите кодировку на UTF-8. Файл пустой или обрывается на середине строки — вероятно, процесс был принудительно завершён; такие «обрезки» нормальны и не лечатся.
Безопасность и ограничения
Технологический журнал может содержать тексты запросов с персональными данными и фрагменты параметров. Не пересылайте LGD-файлы третьим лицам без очистки и не выкладывайте их на форумы целиком — вырезайте только нужный фрагмент события.
Самостоятельно безопасно: читать файлы, настраивать фильтры logcfg.xml, чистить старые журналы. К специалисту стоит обращаться, когда по журналу видны системные взаимоблокировки (TDEADLOCK), повреждение данных или когда требуется менять настройки СУБД по результатам анализа планов запросов.
Проверка результата
После настройки журнала убедитесь, что в целевом каталоге появились подкаталоги с именами процессов и внутри — файлы .lgd со свежей датой изменения. Откройте один из них и проверьте, что записываются именно те события, которые заданы в фильтре.
Как проверить результат
Появляются подкаталоги rphost_* с файлами .lgd, дата изменения свежая
Каталог пуст через 10–15 минут — проверьте путь в logcfg.xml и права на запись
В файле есть события из фильтра (EXCP, DBMSSQL) со свойствами
Файлы создаются, но пустые — ошибка в синтаксисе logcfg.xml
Объём растёт умеренно, ротация по history работает
Десятки гигабайт за час — фильтры слишком широкие, сузьте события
Что важно запомнить
LGD — текстовый лог технологического журнала 1С, который открывается любым устойчивым к большим файлам редактором, а для анализа удобнее парсеры ТЖ. Запись включается через logcfg.xml, фильтры в нём должны быть узкими, иначе переполнится диск. Ошибки ищите по событиям EXCP, производительность — по длительности событий DBMSSQL.
Частые вопросы
Чем LGD отличается от LOG-файла в каталоге технологического журнала?
Оба формата — текстовые протоколы платформы. Файлы .log обычно содержат служебные записи самого механизма журнала и отдельных компонентов, а .lgd — основной поток структурированных событий (запросы, исключения, вызовы). Для анализа работы прикладного решения нужны именно .lgd.
Можно ли открыть LGD-файл в Excel?
Технически можно импортировать как текст с разделителями, но это неудобно: события многострочные по смыслу, свойства идут вразнобой, а объём файла быстро упирается в лимит строк листа. Excel подойдёт только для небольшого фрагмента, предварительно вырезанного из журнала.
Где по умолчанию лежат LGD-файлы на сервере?
Каталог задаётся параметром location в logcfg.xml — единого пути по умолчанию нет. Если конфиг не создавался, журнал не пишется вовсе. Часто администраторы размещают журнал в каталоге вида D:\1clogs или в подкаталоге reg_1541 служебного каталога кластера — уточните у администратора сервера.
Почему в журнале нет событий конкретного пользователя?
Проверьте три причины: фильтр в logcfg.xml может отсекать нужные типы событий; пользователь мог работать в момент, когда журнал был отключён; события записал другой рабочий процесс rphost — ищите по всем подкаталогам процессов, а не по одному файлу.
Можно ли удалять старые LGD-файлы?
Да, это обычные текстовые логи, их удаление не влияет на работу базы. Удаляйте файлы старше периода, заданного параметром history, либо настройте автоматическую очистку скриптом. Не удаляйте файл, который платформа пишет прямо сейчас, — сначала отключите запись или дождитесь ротации.
Как найти в LGD-файле причину взаимоблокировки?
Ищите события TDEADLOCK и TLOCK вокруг времени ошибки. В свойствах события указаны соединения-участники и ресурсы блокировки. Сопоставьте их с событиями DBMSSQL тех же соединений — так восстанавливается, какие запросы конфликтовали. Для регулярных взаимоблокировок анализ лучше доверить специалисту по производительности.