среда, 4 ноября 2015 г.

Анализ логов технологического журнала


Давайте посмотрим что произойдет, если мы создадим файл logcfg.xml с указанной выше структурой и поместим его в каталог «C:\Program Files\1Cv82\conf» Подождем 60 секунд и откроем каталог «C:\1C_Info\Logs», т.к. именно его мы указывали в 3 строке файла logcfg. Если каталога 1C_Info на диске нет, то сервер 1С попробует его создать, но есть риск того что у пользователя под которым запущена служба 1С не будет прав. Поэтому рекомендуется создавать каталоги для логов вручную и проверять наличие прав у сервера 1С на запись в данный каталог. В результате в каталоге мы видим 3 подкаталога.   



Каждый процесс кластера создал каталог, в котором находятся логи только данного процесса, а т.к. у меня только 3 процесса, то и каталогов тоже 3. Каталог создается по шаблону ИмяПроцесса_PIDПроцесса. PID нужен для того, чтобы отличать процессы с одинаковым именем. Каждый час создается отдельный файл с логом.   
Файл лога именуется по шаблону ГГММДДЧЧ.log. Например, у меня первый лог за 6 апреля 2015 года 10 часов утра. Если лог старше чем количество часов указанное в параметре history файла logcfg, то он автоматически удаляется платформой. Давайте подробно разберем формат лога технологического журнала. Событие записываются в лог только после того, как оно завершилось, т.к. необходимо фиксировать длительность события. 

Строка лога имеет формат: 

мм:сс.тттт-д, <ИмяСобытия>, <Уровень>, <Свойства> 

Где: 

мм – номер минуты в текущем часе. 

сс – номер секунды в текущей̆ минуте. 

тттт – номер десятитысячной доли текущей̆ секунды, для 8.3 здесь отображается номер миллионной доли. 

д – длительность события в десятитысячных долях секунды, для 8.3 в миллионных долях. 

<ИмяСобытия> – наименование события. 

<Уровень> – уровень события в стеке текущего потока. 

<Свойства> — свойства события разделенные запятыми, значения свойств проставлены через знак «=». Разберем на примере. Есть лог со следующим содержимым:  


00:16 — это минуты и секунды окончания события. Дату и час события можно взять из названия файла лога. Событие завершилось 6 апреля 2015 года в 11 часов 00 минут 16 секунд. 

8640 – для 8.2 это десятитысячные доли секунды. А для 8.3 — миллионные доли секунды момента завершения события. 

1 – это длительность события. В 8.2 длительность указывается в десятитысячных долях секунды, в 8.3 в миллионных долях секунды. Если необходимо поставить фильтр на длительность, то можно использовать имя свойства «Duration». 

DBMSSQL – это имя события. В данном случае выполнение инструкций СУБД MS SQL Server. 3 – уровень события. Далее идут свойства события DBMSSQL,при этом у каждого события свой набор свойств.Полный список свойств для всех событий можно посмотреть в руководстве администратора. Здесь мы подробно рассмотрим свойства только для текущего события. 

Process – Описывает процесс для которого пишется данный лог. Это свойство есть у всех событий. В моем случае пишется лог процесса rphost. 

P:processName – имя информационной базы 1С. Событие было сформировано в базе под названием Deadlock. 

T:clientID — идентификатор соединения с клиентом по TCP. 

T:applicationName – идентификатор клиентской программы. Т.е. кто именно вызвал событие, в моем случае это фоновое задание. 

T:connectID – номер соединения с информационной базой. 

SessionID – номер сеанса, назначенный текущему потоку. Если текущему потоку не назначен сеанс, то свойство не добавляется. 

Usr – имя пользователя информационной базой под которым выполняется данный поток. Если пользователь не определен, подставляется значение DefUser. 

Trans – показывает открыта транзакция на момент начала события или нет. 1 – открыта, 0 – нет. dbpid – номер соединения сервера 1С с сервером баз данных. SQL – текст инструкции SQL. Чаще всего здесь содержится текст запроса SQL с параметрами. 

Rows – количество строк, которые вернул запрос. 

RowsAffected – количество строк, которые изменил запрос в базе данных. 

Context – какая строка кода на языке 1С породила данное событие. Наверное, самое интересное для нас событие.   

Источник: ©Курсы-по-1С.рф






2 комментария:

  1. чуть эпилепсию не схватил от желтого выделения

    ОтветитьУдалить
  2. – уровень события в стеке текущего потока.

    какие бывают уровни?

    ОтветитьУдалить