Начальная страница

Серверные лог-файлы: преобразование поисковых запросов на кириллице

При просмотре серверных лог-файлов возникает проблема чтения поисковых запросов, использующих знаки за пределами ASCII, например кириллицу или латинские буквы национальных алфавитов (немецкого, французского и т.д.). В лог-файле для представления этих знаков используется следующая запись:

"http://yandex.ru/yandsearch?text=%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA+bat-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+%D0%BF%D1%80%D0%B8+%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8+%D0%B3%D0%BE%D1%80%D1%8F%D1%87%D0%B8%D1%85+%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D1%88&lr=77"

Понять, что искал пользователь, попавший на вашу страницу, без определенной тренировки довольно трудно, но хочется. По этой причине я написал небольшую утилиту, которая преобразует лог-файл так, что вышеприведенная строка начинает выглядеть следующим образом:

"http://yandex.ru/yandsearch?text=запуск+bat-файла+при+помощи+горячих+клавиш&lr=77"

Утилиту lm.exe можно скачать с этой страницы. lm означает нечто вроде log file modifier. Утилита работает с командной строкой:

lm имя_файла

Имя файла может включать путь. Если путь и/или имя файла содержат пробелы, то он(о/и) долж(ен/но/ы) быть заключен(о/ы) в кавычки:

lm "C:\My Super Directory\файл логов за 22 мая для преобразования.log"

После конвертации утилита перезаписывает файл, поэтому если вам нужна первоначальная версия, ее нужно сохранить отдельно.

Так как в поисковых запросах используются разные кодировки, то, как правило, вы не сможете увидеть их все сразу одновременно. Программа просмотра будет показывать в читабельном виде либо запросы в формате ANSI/Windows, либо UTF-8, либо еще что-то другое. Выглядеть это будет примерно так, если файл раскодирован в формате ANSI:

ANSI/Windows

Или так, если выбран UTF-8:

UTF-8

Так как программы, используемые для просмотра лог-файлов, могут позволять быстрое переключение между кодировками, я решил (пока) не усложнять задачу и не оснащать утилиту функцией по автоматическому распознаванию кодировок отдельных запросов.

Совет по оптимизации workflow (рабочего процесса)

Командная строка может быть оперативным способом решения задач и при использовании Windows. Команды, выполненные в окне диалога «Выполнить»/«Run», сохраняются после выключения компьютера. Если вы храните лог-файлы в определенной директории и они именуются сервером по определенной схеме, например, домен.дата, то конвертация производится в несколько кликов:

  • Win + R: вызов диалога командной строки, возможно выбор нужной команды из числа сохраненных с помощью стрелочных клавиш
  • правка даты лог-файла, т.е. замена 1-4 цифр
  • Enter

Список команд, выводимых в диалоге «Выполнить», находится в системном реестре в следующем месте:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

 

Copyright А. Г. Румянцев, 2011 MailBox