Андрей Луконькин
Технологический журнал «1С:Предприятие 8.1»
Система «1С:Предприятие 8.1» обеспечивает возможность ведения технологического журнала, в котором помещается информация от всех приложений, относящихся к «1С:Предприятие».
Технологический журнал представляет собой совокупность каталогов и текстовых файлов, в которые система записывает информацию о работе некоторых внутренних механизмов платформы «1С:Предприятие». Технологический журнал может использоваться разработчиками прикладных решений для анализа различных режимов работы системы, например для получения информации об ошибочных и исключительных ситуациях в конфигурации и технологической платформе, информации о запуске и завершении приложений, установке и разрыве соединений, действиях пользователей и администраторов.
Файлы журнала имеют текстовый формат, каждый файл содержит события за 1 час.
Технологический журнал может вестись на любом компьютере, на котором инсталлирована система «1С:Предприятие 8.1».
За параметры ведения технологического журнала отвечает конфигурационный файл logcfg.xml, в котором описываются:
- каталог, в котором будут располагаться файлы технологического журнала;
- состав информации, которая будет помещаться в технологический журнал;
- время, в течение которого хранятся файлы технологического журнала;
- параметры дампа, создаваемого при аварийном завершении приложения.
Файл logcfg.xml должен быть помещен в подкаталог conf каталога загрузочных модулей «1С:Предприятие» (обычно это каталог C:\Program Files\1cv81\bin).
Если файл logcfg.xml отсутствует или содержит ошибки, то технологический журнал считается выключенным и не создается. Следует избегать использования комментариев (конструкции типа <!-- содержание комментария -->).
Важно! При создании записей технологического журнала работа системы замедляется. Это нужно учитывать в случаях, когда снижение производительности может быть критичным.
Состав конфигурационного файла logcfg.xml
По мере выхода новых версий платформы «1С:Предприятие» отслеживаемые события могут меняться и дополняться, но общий принцип структуры остается единым.
<config …>
<log …> … </log>
<log …> … </log>
<dump … />
</config>
Элемент <config> определяет настройки технологического журнала. Он может содержать несколько элементов <log> и один элемент <dump>.
Элемент <log> определяет каталог технологического журнала. Его атрибут location – это имя каталога, в котором будет размещаться технологический журнал. Атрибут history – это количество часов, через которое информация будет удаляться из технологического журнала.
Например:
<log location="c:\1c8logs" history="12">
Это означает, что файлы будут храниться 12 часов в каталоге c:\1c8logs.
Элемент <dump> определяет каталог для записи дампов аварийного завершения программы. Чтобы отключить запись дампов, нужно в элементе <dump> установить значение параметра «create = "0"» или «create = "false"».
В элемент <log> могут быть вложены элементы <event> и <property>, состав которых определяет условие записи в журнал каждого события и условия записи каждого свойства события.
Событие включается в журнал, если оно удовлетворяет всем условиям внутри хотя бы одного из элементов <event>. Условия задаются элементами:
- eq – равно;
- ne – не равно;
- gt – больше;
- ge – больше или равно;
- lt – меньше;
- le – меньше или равно;
- like – соответствие маске.
Например:
<event>
<eq property="Name" value="PROC"/>
</event>
Это означает, что в технологическом журнале будут создаваться записи о событиях с именем PROC.
Возможные имена групп событий смотрите в таблице.
Возможные имена групп событий
PROC
|
События, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например: старт, завершение, аварийное завершение и т.п.
|
SCOM
|
События создания или удаления серверного контекста, обычно связанного с информационной базой
|
EXCP
|
Исключительные ситуации приложений системы «1С:Предприятие 8.1», которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса
|
EXCPCNTX
|
События, которые начались, но не закончились в момент возникновения нештатной ситуации
|
SDBL
|
События, связанные с исполнением запросов к модели базы данных «1С:Предприятие 8.1»
|
QERR
|
События, связанные с обнаружением ошибок компиляции запроса или ограничения на уровне записей и полей базы данных
|
PERR
|
События, связанные с обнаружением ошибок работы с настройками пользователя
|
CONN
|
Установка или разрыв клиентского соединения с сервером
|
ADMIN
|
Управляющие воздействия администратора кластера серверов «1С:Предприятия 8.1»
|
DBV8DBEng
|
Исполнение операторов SQL файловой СУБД
|
DBMSSQL
|
Исполнение операторов SQL СУБД Microsoft SQL Server
|
DBPOSTGRS
|
Исполнение операторов SQL СУБД PostgreSQL
|
DB2
|
Исполнение операторов SQL СУБД DB2
|
CALL
|
Удаленный вызов
|
TLOCK
|
Управление транзакционными блокировками в управляемом режиме
|
Элемент <property> определяет условия попадания в журнал значения ключевого свойства события, имя которого является значением атрибута name.
Элемент <property name="all"> </property> включает записи в журнал всех свойств событий.
Используя свойства элемента <property>, в технологический журнал можно записывать контекст исполнения двух видов: контекст встроенного языка и интерфейсный контекст. Чтобы включить запись контекста, нужно среди фильтров свойств записать элемент <property name="context"> или элемент <property name="all">.
Рассмотрим несколько примеров использования технологического журнала.
Такой конфигурационный файл определяет вывод в технологический журнал всех событий вместе со всеми свойствами. Журнал будет сохраняться в течение 8 часов.
<config xmlns="http://v8.1c.ru/v8/tech-log"> <log location="C:\\1cv81\logs" history="8"> <event> <ne property="Name" value=""/> </event> <property name="all"> </property> </log></config>
Следующий конфигурационный файл будут регистрировать все исключительные ситуации, связанные с блокировками и ожидания, превысившие 10 секунд (длительность событий выражается в сотнях микросекунд).
<config xmlns="http://v8.1c.ru/v8/tech-log"> <log location="c:\v81\logs" history="8"> <event> <eq property="Name" value="EXCP"/> </event> <event> <eq property="Name" value="TLOCK"/> <gt property="Duration" value="100000"/> </event> <property name="all"/> <property name="Context"> <event> <eq property="Name" value=""/> </event> </property> </log> <dump location="c:\v81\dumps" create="1" type="2"/></config>
Этот конфигурационный файл определяет, что технологический журнал будет содержать только обращения «1С:Предприятие» к СУБД и информацию об ошибочных ситуациях.
<config xmlns="http://v8.1c.ru/v8/tech-log"> <log location="C:\\1cv81\logs" history="8"> <event> <eq property="Name" value="DBV8DBEng"/> </event> <event> <eq property="Name" value="DBMSSQL"/> </event> <event> <eq property="Name" value="DBPOSTGRS"/> </event> <event> <eq property="Name" value="DB2"/> </event> <event> <eq property="Name" value="EXCP"/> </event> <property name="all"> </property> </log></config>
Файл logcfg.xml легко создается в любом текстовом редакторе, но также можно воспользоваться внешней обработкой «Настройка технологического журнала» с диска ИТС (февраль 2008 г.).
Форма обработки «Настройка технологического журнала»
Используя визуальный редактор, можно добавлять записываемые события, свойства и условия отображения свойств.
Окно редактирования отслеживаемых событий
После редактирования появляется готовый текст конфигурационного файла, который можно сохранить или скопировать.
Заключение
Таким образом, использование технологического журнала позволяет зафиксировать широкий спектр действий и событий, а также дает возможность проанализировать возникшие проблемы при работе с «1С:Предприятие». На базе технологического журнала построена вся работа специализированной конфигурации «1С:Центр управления производительностью» (см. выпуск журнала №3(64) за март 2008 года).
Также возможно создание собственных систем, использующих структурированные файлы журнала для проведения анализа данных.