Элемент <property>
Описан элемент <property> в файле logcfg.xml: условия записи свойств событий в технологический журнал, перечень свойств и настройка записи контекста выполнения.. Общая информация. Перечень свойств
Общая информация
Элемент <property> определяет условия попадания в журнал значения свойства события, имя которого является значением атрибута name, при условии, что само событие попадает в технологический журнал. Условия задаются вложенными элементами <event> по тем же правилам, что и для событий.
Если элемент <property> с определённым именем отсутствует, соответствующее свойство не записывается. Если элемент <property> не содержит вложенных элементов <event>, определённое им свойство записывается для всех событий, попадающих в журнал и содержащих это свойство. Если элемент <property> содержит вложенные элементы <event>, свойство будет записано только для событий, удовлетворяющих условию, если само событие записывается в журнал и имеет это свойство.
Элемент <property name="all"> </property> включает запись в журнал всех свойств событий.
Приведённый ниже элемент <log> определяет запись в журнал событий процесса, серверного контекста, соединения, исключительных ситуаций и выполнения операторов SQL при условии записи в журнал текста оператора SQL, выполнявшегося более одной секунды. Журнал размещается в каталоге c:\logs и хранится 1 час.
Пример:
<log location="c:\logs" history="1">
<event>
<eq property="name" value="proc"/>
</event>
<event>
<eq property="name" value="scom"/>
</event>
<event>
<eq property="name" value="conn"/>
</event>
<event>
<eq property="name" value="excp"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="sql">
<event>
<eq property="name" value="mssql"/>
<gt property="duration" value="10000"/>
</event>
</property>
</log>
Каждое событие имеет набор свойств, а каждое свойство — имя. У события может быть несколько свойств с одинаковыми именами. Имена свойств можно использовать для фильтрации событий и свойств. При сравнении имён прописные и строчные буквы не различаются. Пустое условие в элементе <property> означает, что свойство будет выводиться при любом условии.
Примечание
Свойство события выводится только при наличии для него элемента <property>.
Перечень свойств
Ниже приведены основные свойства событий, которые могут понадобиться для настройки конфигурационного файла или просмотра технологического журнала:
Имя события | Описание |
|---|---|
Action | Текстовое описание операции при загрузке конфигурации из файлов (для события CONFLOADFROMFILES). |
Admin | Имя администратора кластера или центрального сервера. |
agentURL | Адрес текущего процесса агента сервера системы. |
All | Включает запись всех событий журнала. |
ApplicationExt | Уточнение требования назначения функциональности (для события CLSTR). |
Attempts | Количество попыток установления соединения с процессом, завершившихся ошибкой (для события ATTN). |
AvgExceptions | Среднее количество исключительных ситуаций за последние 5 минут в других процессах (для события ATTN). |
AvMem | Значение показателя Доступная память на момент вывода в технологический журнал (для события FTEXTUpd). |
BackgroundJobCreated | Формирование индекса полнотекстового поиска выполнялось в фоновом процессе (true) или нет (false) (для события FTEXTUpd). |
Body | Размер в байтах тела запроса или ответа (для событий VRSREQUEST, VRSRESPONSE). |
Calls | Количество обращений клиентского приложения к серверному приложению через TCP. |
certificate | Описание проверяемого сертификата (для события WINCERT). Включает следующие поля сертификата: субъект (subject), издатель (issuer), серийный номер (sn). |
Class | Имя класса, в котором сгенерировано событие (только для события SYSTEM). |
Cluster | Номер основного порта кластера серверов. |
Component | Имя компонента системы, в котором сгенерировано событие (только для события SYSTEM). |
Connection | Номер соединения с информационной базой. |
Connections | Количество соединений, которым не хватило рабочих процессов (для события CLSTR). |
ConnLimit | Установленное максимальное количество соединений на один рабочий процесс (для события CLSTR). |
Context | Контекст выполнения. |
CopyBytes | Общий размер скопированных значений при сборке мусора (для события SDGC). |
CpuTime | Процессорное время в микросекундах, затраченное на индексирование порции файла журнала регистрации (для события EVENTLOG). |
CurExceptions | Количество исключительных ситуаций в процессе за последние 5 минут (для события ATTN). |
Database | Путь к используемой базе данных (для событий DB2, DBMSSQL, DBORACLE, DBPOSTGRS, DBDA, EXCP, SDBL). Для клиент-серверного варианта имя базы данных формируется как ИмяСервера\ИмяБазы, для файлового варианта выводится полный путь к файлу 1Cv8.1CD. |
DBConnID | Идентификатор соединения с СУБД внешнего источника данных (только для события EDS). |
DBConnStr | Строка соединения с внешним источником данных (только для события EDS). |
DBCopy | Имя используемой копии базы данных (для событий DB2, DBMSSQL, DBORACLE, DBPOSTGRS, DBDA, EXCP, SDBL). Если обращение к копии не происходит, это свойство не записывается. |
Dbms | Имя СУБД, используемой для выполнения операции, вызвавшей формирование этого события технологического журнала (для событий EDS, DB2, DBMSSQL, DBORACLE, DBPOSTGRS, DBDA, EXCP, SDBL). Может принимать значения:
|
Dbpid | Строковое представление идентификатора соединения сервера системы с сервером баз данных в терминах сервера баз данных для событий DBMSSQL, DBPOSTGRS, DB2, DBORACLE. |
DBUsr | Имя пользователя СУБД внешнего источника данных (только для события EDS). |
DeadlockConnectionIntersections | Список пар транзакций, образующих взаимную блокировку (для события TDEADLOCK). |
Descr | Пояснение к программному исключению. |
description | Текст, поясняющий выполняемое действие (для события DHIST). |
DstAddr | Назначенный адрес рабочего процесса (для события CLSTR). |
DstId | Уникальный идентификатор назначенного рабочего процесса (для CLSTR). |
DstPid | Системный идентификатор назначенного рабочего процесса (для CLSTR). |
DstSrv | Назначенное название рабочего сервера (для события CLSTR). |
dumpError | Описание ошибки, возникшей при построении дампа. |
DumpFile | Имя файла с дампом. |
Duration | Длительность события в сотнях микросекунд. |
Durationus | Длительность события в микросекундах. |
Err | Консольное сообщение: 0 – информационное; 1 – об ошибке. |
errorCode | Код ошибки, возвращённый методом работы с сертификатами Windows API (для события WINCERT). |
Event | Содержит наименование действия, выполняемого кластером серверов (для события CLSTR), и определяет наличие других свойств в этом событии. |
Exception | Наименование программной исключительной ситуации. |
ExtSrvcUrl | Адрес внешнего сервиса интеграции (для события SINTEG). |
ExtSrvcUsr | Имя пользователя внешнего сервиса интеграции (для события SINTEG). |
FailedJobsCount | Количество фоновых процессов индексирования, завершившихся с ошибками (для события FTEXTUpd). |
File | Имя файла, в котором сгенерировано событие (для события SYSTEM) или в котором обнаружена проблема при проверке индекса полнотекстового поиска (для события FTEXTCHECK). |
FileName | Имя файла со сформированным индексом журнала регистрации (для события EVENTLOG). |
Files | Список файлов в формате «имя файла … размер файла» в каталоге выполнения действия (для события FTEXTUpd). Свойство формируется только при установке для атрибута logfiles элемента ftextupd значения True. |
FilesCount | Количество файлов в каталоге выполнения действия (для события FTEXTUpd). Свойство формируется только при установке для атрибута logfiles элемента ftextupd значения True. |
FilesSize | Общий размер хранилища в байтах (для события SDGC). |
FilesTotalSize | Размер файлов в каталоге выполнения действия (для события FTEXTUpd). Свойство формируется только при установке для атрибута logfiles элемента ftextupd значения True. |
FillRefsPresent | При наличии свойства используется кеш ссылок из списка значений, а не полнотекстовый поиск данных (для события INPUTBYSTRING). |
FindByString | Имя объекта конфигурации, для которого выполняется ввод по строке. |
findTicks | Время, затраченное на поиск в базе данных, в мсек (для события INPUTBYSTRING). |
Finish | Причина завершения процесса. |
Folder | Каталог, в котором выполняется действие (для события FTEXTUpd). Может быть временным каталогом или каталогом расположения файлов с индексом полнотекстового поиска. Свойство формируется только при установке для атрибута logfiles элемента ftextupd значения True. |
ftextResultCount | Количество ссылок, найденных полнотекстовым поиском (для события INPUTBYSTRING). |
ftextSearchCount | Количество вызовов полнотекстового поиска (для события INPUTBYSTRING). |
ftextTicks | Время, затраченное на полнотекстовый поиск, в мсек (для события INPUTBYSTRING). |
Func | Наименование выполняемого действия. |
Headers | HTTP-заголовки запроса или ответа (для событий VRSREQUEST, VRSRESPONSE). |
Host | Имя компьютера. |
hResultOLEDB, hResultNC2005, hResultNC2008, hResult2012 | Содержит 16-значный код возврата попытки соединения через соответствующего провайдера: OLE DB, SQL Server Native Client версий 2005, 2008, 2012. Если попытка соединения через провайдера не выполнялась, свойство будет отсутствовать. Попытка соединения начинается с провайдера, соответствующего наиболее актуальной версии Microsoft SQL Server, после чего перебираются все провайдеры от наибольшей к наименьшей версии. После успешного соединения последующие попытки установления соединения с другими провайдерами не выполняются. |
IB | Имя информационной базы в клиент-серверном варианте. |
IBLimit | Установленное максимальное количество информационных баз на один рабочий процесс (для события CLSTR). |
IName | Имя переданного интерфейса, из которого удалённо вызван метод (для событий SCALL и CALL). |
InBytes | Количество данных, прочитанных с диска за время вызова, в байтах. |
Info | Информация о сбое (для события FTEXTCheck). |
Infobases | Количество информационных баз, которым не хватило рабочих процессов (для события CLSTR). |
InstanceID | Уникальный идентификатор хранилища (для SDGC). Целое число. |
JobCanceledByLoadLimit | Признак того, что фоновый процесс индексирования был отменён из-за достижения предела загрузки рабочего процесса (для события FTEXTUpd). |
Level | Уровень важности события (только для событий SYSTEM и CONFLOADFROMFILES). Возможные значения события приведены в описании элемента <system> файла параметров технологического журнала logcfg.xml. |
Line | Номер строки в файле, в котором сгенерировано событие SYSTEM. |
LockDuration | Длительность блокировки хранилища за период работы сборки мусора в миллисекундах (для события SDGC). |
Locks | Список управляемых транзакционных блокировок (для события TLOCK). |
MaxMemSize | Максимальный объём памяти, который может занимать процесс, указанный в настройках кластера, в байтах (для события ATTN). |
MDX | Текст MDX-запроса к системе OLAP. |
MDX | Текст выполняемого запроса к OLAP-системе (только для события EDS). |
Memory | Объём памяти в байтах, занятый, но не освобождённый за серверный вызов. |
MemoryPeak | Пиковое значение за вызов памяти в байтах, занятой, но не освобождённой. |
MemoryUsed | Максимальный размер динамической памяти, использованный во время вызова (для события FTEXTUpd). |
MemSize | Объём памяти, занимаемый процессом, в байтах (для события ATTN). |
MessageUid | Уникальный идентификатор почтового сообщения, при разборе которого возникла ошибка. Значение равно свойству UID объекта InternetMailMessage. |
Method | HTTP-метод обращения к ресурсу (для событий VRSREQUEST, VRSRESPONSE), метод объекта InternetMail, при котором произошла ошибка разбора почтового сообщения (для события MAILPARSEERR), имя вызванного метода, отличающееся от метода call (для события CALL), или текущее действие сборщика мусора (для события SDGC). Для события MAILPARSEERR может принимать значения:
Для события CALL это свойство содержит номер вызванного метода интерфейса, а идентификатор вызванного интерфейса указан в свойстве Interface. Для события SDGC может принимать значения:
|
MinDataId | Минимальный идентификатор индексируемых данных в порции, прошедшей от менеджера кластера к рабочему процессу и обратно (для события FTEXTUpd). |
MName | Имя удалённо вызванного метода (для событий SCALL и CALL). |
MyVer | Текущая версия состояния сервера (для события CLSTR). |
Name | Имя события. |
NeedResync | Требуется синхронизация данных сервера (только для события CLSTR, в котором свойство Event равно значению current version older). |
Nmb | Номер сеанса (для события SESN). |
NParams | Количество параметров оператора SQL для файлового варианта информационной базы (событие DBV8DBENG). Параметры, количество которых указано в этом свойстве, используются для передачи длинных бинарных данных. |
Obsolete | Количество и уникальные идентификаторы устаревших рабочих процессов (для события CLSTR). |
OSException | Описание исключительных ситуаций операционной системы. |
OSThread | Номер потока, выполняющего индексирование файла журнала регистрации (для события EVENTLOG). |
OutBytes | Количество данных, записанных на диск за время вызова, в байтах. |
p:processName | Имя серверного контекста, которое обычно совпадает с именем информационной базы. |
PacketCount | Фактическое количество пакетов, записанных в файл индекса при обработке текущего файла (для события EVENTLOG). |
Phrase | Текстовая фраза, соответствующая коду состояния (для события VRSRESPONSE). |
PID | Идентификатор процесса операционной системы. |
planSQLText | План запроса, содержащегося в свойстве Sql (для событий DBV8DBENG, DBMSSQL, DBPOSTGRS, DB2, DBORACLE, EDS). |
Port | Номер основного сетевого порта процесса. |
Process | Наименование приложения, как его представляет операционная система: имя файла программного модуля приложения. |
ProcessName | Наименование процесса. |
procURL | Адрес процесса сервера системы, которому принадлежит событие. |
Query | Текст запроса встроенным языком, при котором обнаружено значение NULL в поле, для которого такое значение невозможно (для события QERR). |
QueryFileds | Перечень полей запроса, в которых обнаружено значение NULL (для события QERR). |
Reason | Причина недоступности рабочего процесса (для события CLSTR). |
Ref | Имя информационной базы. |
Regions | Имена пространств управляемых транзакционных блокировок (для события TLOCK). |
Registered | Количество и уникальные идентификаторы новых рабочих процессов (для события CLSTR). |
Released | Количество и уникальные идентификаторы резервных рабочих процессов, ставших основными (для события CLSTR). |
Report | Имя объекта метаданных отчёта, выполняемого в фоновом задании. |
Request | Идентификатор запроса на соединение (для события CLSTR). |
res | Описывает действие, выполненное системой лицензирования (для события LIC). |
Result | Результат проверки файлов индекса полнотекстового поиска: 1 – ошибок нет, 0 – имеются ошибки (для события FTEXTCheck). |
RetExcp | Исключение, возникшее при выполнении серверного вызова и переданное клиенту как результат вызова (для событий CALL). |
Rows | Количество полученных записей базы данных. |
RowsAffected | Количество изменённых записей базы данных. |
RunAs | Режим запуска процесса: приложение или сервис. |
Sdbl | Текст запроса встроенным языком модели базы данных. |
SearchByMask | Если установлено значение TRUE или "1", используется поиск в базе данных без результатов полнотекстового поиска (для события INPUTBYSTRING). |
Separation | Включено разделение или нет (для события FTEXTCheck). |
SepId | Индекс области разделения, если разделение включено (для события FTEXTCheck). |
ServerComputerName | Имя рабочего сервера. |
ServiceName | Имя сервиса кластера серверов (для события CLSTR). |
SessionID | Номер сеанса, назначенный текущему потоку. Если текущему потоку не назначен ни один сеанс, свойство не добавляется. |
Sql | Текст оператора SQL. |
SrcAddr | Приоритетный адрес рабочего процесса (для события CLSTR). |
SrcId | Уникальный идентификатор приоритетного рабочего процесса (для события CLSTR). |
SrcPid | Системный идентификатор приоритетного рабочего процесса (для события CLSTR). |
srcProcessName | Записывается при освобождении общих данных информационной базы рабочим процессом. Значением свойства ProcessName является имя общих данных на момент освобождения. Значением свойства srcProcessName является имя общих данных информационной базы на момент их создания. |
SrcURL | Приоритетный адрес рабочего сервера (для события CLSTR). |
SrcVer | Полученная версия состояния кластера серверов (для события CLSTR). |
SrvcName | Имя объекта метаданных сервиса интеграции, для которого выполняется подключение к внешнему сервису интеграции (для события SINTEG). |
State | Фиксирует начало или завершение операции обновления индекса полнотекстового поиска (для события FTEXTUPD). |
Status | Код состояния HTTP (для события VRSRESPONSE). |
SyncPort | Номер вспомогательного сетевого порта процесса. |
Sz | Объём динамической памяти, занятой процессом на момент вывода события MEM, в байтах. |
Szd | Изменение объёма динамической памяти, занятой процессом, с момента вывода предыдущего события MEM, в байтах. |
t:applicationName | Идентификатор клиентской программы. |
t:clientID | Идентификатор соединения с клиентом через TCP. |
t:computerName | Имя клиентского компьютера. |
t:connectID | Идентификатор соединения с информационной базой. |
Text | Текст, введённый при вводе по строке (для события INPUTBYSTRING). |
Time | Время вывода записи в технологический журнал (для события FTEXTUpd). Для события ATTN содержит имя серверного процесса: rmngr или rphost. |
Timeout | В зависимости от назначения события ATTN (свойство Descr) может описывать:
|
tooManyResults | Если установлено значение TRUE или "1" и в индексе слишком много ссылок, удовлетворяющих запросу, полнотекстовый поиск не используется (для события INPUTBYSTRING). |
TotalJobsCount | Количество фоновых процессов, созданных при индексировании (для события FTEXTUpd). |
Trans | Идентификатор активности транзакции на момент начала события:
|
Txt | Текст информационного сообщения. |
URI | Ресурс, к которому выполняется обращение (для событий VRSREQUEST, VRSRESPONSE). |
UsedSize | Размер используемого места в хранилище, в байтах (для события SDGC). |
Usr | Имя пользователя информационной базы. Если в информационной базе не определены пользователи, это свойство будет иметь значение DefUser. Значение свойства берётся из назначенного сеанса. |
Val | Значение, содержание которого зависит от значения параметра Func. |
WaitConnections | Список соединений, с которыми происходит столкновение по управляемым транзакционным блокировкам (для событий TLOCK и TTIMEOUT). |
Word | Слово, если определено (для события FTEXTCheck). |
сn | Количество занятых процессом фрагментов динамической памяти на момент вывода события MEM. |
сnd | Изменение количества занятых процессом фрагментов динамической памяти с момента вывода предыдущего события MEM. |
С помощью свойств элемента <property> в технологический журнал можно записывать контекст выполнения. Контекст выполнения может быть двух видов: контекст встроенного языка и интерфейсный контекст. Контекст встроенного языка является списком операторов встроенного языка и содержит:
- название модуля;
- номер строки модуля;
- текстовое представление элемента списка вызова встроенного языка соответствующей строки модуля.
Интерфейсный контекст содержит:
- полное имя формы;
- тип активного элемента формы;
- имя активного элемента формы;
- имя кнопки командной панели, если она была нажата;
- действие, выполняемое элементом формы.
Например, контекст встроенного языка в файле технологического журнала может иметь следующий вид:
Документ.ПриходнаяНакладная:23:Движения.УчетНоменклатуры.Записать(); МодульПриложения:18:ПроверитьПодключениеОбработчикаОжидания(Истина); МодульПриложения:230:ЕслинпПолучитьЗначениеПоУмолчанию(глТекущийПользователь,«ИспользоватьНапоминания") ОбщийМодуль.нпНастройкиПользователей:481:Выборка=Запрос.Выполнить().Выбрать();
Интерфейсный контекст в файле технологического журнала может иметь следующий вид:
{Документ.Документ1.ФормаСписка}/{ТабличноеПоле:
ДокументСписок}/{ОбновлениеОтображения}
{Документ.Документ1.Форма.ФормаДокумента}/{КоманднаяПанель:
ОсновныеДействияФормы}/{ОсновныеДействияФормыОК}
{Документ.Документ1.Форма.ФормаДокумента}/{Кнопка:
Кнопка1}/{Нажатие}
Чтобы включить запись контекста, необходимо среди фильтров свойств записать элемент <property name="Сontext"> или элемент <property name="all">.
Если необходимо записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) с контекстом выполнения, содержимое файла параметров технологического журнала должно выглядеть так:
<config xmlns="http://bas-soft.eu/v8/tech-log">
<log location="c:\bas\logs" history="1">
<event>
<eq property="name" value="sdbl"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="context">
</property>
</log>
</config>
Если необходимо записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста выполнения, файл настройки технологического журнала следует заполнить так:
<config xmlns="http://bas-soft.eu/v8/tech-log">
<log location="c:\bas\logs" history="1">
<event>
<eq property="name" value="sdbl"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
</log>
</config>
Чтобы записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста выполнения, но со всеми остальными свойствами, файл настроек должен содержать:
<config xmlns="http://bas-soft.eu/v8/tech-log">
<log location="c:\bas\logs" history="1">
<event>
<eq property="name" value="sdbl"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="all">
</property>
<property name="context">
<eq property="name" value=""/>
</property>
</log>
</config>
</config>
Чтобы записывать события SDBL (SDBL-запросы) с контекстом выполнения и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста выполнения, содержимое файла настройки должно быть таким:
<config xmlns="http://bas-soft.eu/v8/tech-log">
<log location="c:\bas\logs" history="1">
<event>
<eq property="name" value="sdbl "/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="context">
<event>
<eq property="name" value="sdbl"/>
</event>
</property>
</log>
</config>
Наличие элемента <property name="Context"> означает, что для событий, записываемых в журнал при выполнении условий, указанных в этом элементе, будет записана информация о контексте. После этого к каждому событию технологического журнала будет добавлена информация о контексте выполнения в текущем процессе, а после события будет добавлено мгновенное событие с информацией о контексте выполнения клиентского процесса.
В технологический журнал могут записываться сообщения об исключительных ситуациях, связанных с менеджером блокировок. Для этого файл настройки должен содержать следующие данные:
<config xmlns="http://bas-soft.eu/v8/tech-log">
<log location="c:\bas\logs" history="7">
<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:\bas\dumps" create="1" type="2"/>
</config>
В приведённом примере будут регистрироваться все исключительные ситуации, связанные с блокировками, в том числе DEADLOCK – взаимные блокировки соединений и TIMEOUT – истечение предопределённого времени. В обоих случаях в текст сообщения об исключительной ситуации включается номер соединения, вызвавшего эту исключительную ситуацию, а также ожидания, превысившие 10 секунд. При этом будет записана информация по всем свойствам, кроме Context.