Анализатор журналов для извлечения значения из журнала IIS

#sql #logparser

#sql #анализатор журналов

Вопрос:

Я хочу получить значение URL-адреса API в файле журнала IIS. Поскольку параметр представляет собой строку, разделенную запятыми, поэтому я не могу использовать Log Parser studio. Я создал asp.net консольное приложение и попытался извлечь значение, чтобы я мог манипулировать строкой. Мой формат cs-uri-запроса выглядит следующим образом: » CheckedItems = A,B amp; subject = AA». Мой запрос ниже работает для извлечения темы, но теперь проверяются элементы:

 strSQL = @"SELECT TOP 5 EXTRACT_VALUE(cs-uri-query,'subject') as Query_subject, COUNT(*) AS Total FROM C:tempLOGu_ex201007_x.log where cs-uri-stem like '/api/path/get' GROUP BY Query_subject ORDER BY Total DESC";
  

Как получить значение CheckedItems A, B в strSQL? Спасибо.

Комментарии:

1. EXTRACT_VALUE работает только в анализаторе журналов, а не в любом другом SQL. Вы говорите, что ваше консольное приложение создает эту строку, а затем вызывает ее с помощью анализатора журналов?

2. ДА. Я изменил свой запрос, и теперь он работает. @»ВЫБЕРИТЕ TOP 50 EXTRACT_VALUE(cs-uri-query,’CheckedItems’) в качестве Query_campus, ПОСЧИТАЙТЕ (*) КАК итог ИЗ C:tempLOGu_ex201007_x.log где cs-uri-stem типа ‘/api/path/get’ ГРУППИРУЕТСЯ ПО Query_campus»

3. Хорошо, хорошо. Возможно, вы захотите опубликовать это как ответ на вопрос