#c# #parsing #text-parsing #logparser
#c# #синтаксический анализ #синтаксический анализ текста #анализатор журналов
Вопрос:
Существует простой текстовый файл, который необходимо проанализировать с помощью анализатора журналов. Просто я начал использовать log parser, но не понимаю, каков его предел синтаксического анализа. Я имею в виду, могу ли я сделать это с помощью logparser
Текстовая строка для анализа:
1022303Name WXP3
Это я должен проанализировать как
Первая цифра 1
— это имя строки,
следующие три цифры 022
— номер ошибки,
следующие три цифры 303
— идентификатор пользователя,
следующие десять символов Name
— имя пользователя,
следующие 4 символа WXP3
— имя системы
Я не могу понять, можем ли мы выполнить этот запрос из анализатора журналов или нет… Если да, то приведите любой пример запроса.
ЛЮБОЙ ДРУГОЙ ИНСТРУМЕНТ ДЛЯ ВЫПОЛНЕНИЯ ЭТОГО ПРИВЕТСТВУЕТСЯ
Ответ №1:
Вам нужна функция SUBSTR.
logparser -i:textline "select substr(text, 0, 1) AS RowName, substr(text, 1, 3) AS ErrorNumber, substr(text, 4, 3) AS UserId, substr(text, 7, 10) AS UserName, substr(text, 17, 4) AS SystemName from temp.txt
Это предполагает, что длины действительно установлены на определенный размер.
temp.txt текст, использованный выше:
1022303Name1 WXP3
1022303Name 2 WXP4
1022303Name 3 WXP5
1022303Name 4 WXP6
1022303Name 5 WXP7
1022303Name 6 WXP8
1022303Name 7 WXP9
1022303Name 8 WXPa
Поскольку на это уже была ссылка ранее, я также укажу вам на Log Parser Plus, который я «запускаю» и который может быть немного полезен с другими функциями анализатора журналов.
Комментарии:
1. Просто на всякий случай … SUBSTR (текст для поиска, начальная позиция, символы для разбора), где начальная позиция основана на 0.
2. Спасибо … Я думаю, это решит мою проблему. Еще один вопрос: можем ли мы проверить данные, такие как числовой тип или текстовый?
3. Насколько я знаю, нет. Но потенциально вы могли бы использовать ROUND или TO_INT (вам пришлось бы протестировать, чтобы увидеть, что это будет делать с нечисловой строкой)… Однако я ожидал бы, что вы должны будете признать, что сам файл журнала является допустимым (для анализатора журналов). Если приложение, которое создает эти журналы, не выводит допустимые файлы журналов, то это гораздо большая проблема.
4. Ага!! правильно, можете ли вы предложить какой-либо URL-адрес руководства… Я проявляю интерес к анализатору журналов
5. Официальные форумы находятся по адресу forums.iis.net/default.aspx?GroupID=51 и еще есть книга «Microsoft Log Parser Toolkit» (я бы рассматривал ее скорее как справочник, чем как учебное пособие). Помимо этого… не совсем. Существует множество запросов, плавающих вокруг; Я уже упоминал свой сайт в ответе, а ошибка сервера и переполнение стека содержат массу ответов с хорошими запросами. Если вы что-нибудь найдете, дайте мне знать!