Серверные лог-файлы: преобразование поисковых запросов на кириллицеПри просмотре серверных лог-файлов возникает проблема чтения поисковых запросов, использующих знаки за пределами 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: ![]() Или так, если выбран UTF-8:
Так как программы, используемые для просмотра лог-файлов, могут позволять быстрое переключение между кодировками, я решил (пока) не усложнять задачу и не оснащать утилиту функцией по автоматическому распознаванию кодировок отдельных запросов. Совет по оптимизации workflow (рабочего процесса)Командная строка может быть оперативным способом решения задач и при использовании Windows. Команды, выполненные в окне диалога «Выполнить»/«Run», сохраняются после выключения компьютера. Если вы храните лог-файлы в определенной директории и они именуются сервером по определенной схеме, например, домен.дата, то конвертация производится в несколько кликов:
Список команд, выводимых в диалоге «Выполнить», находится в системном реестре в следующем месте:
| |||||||||||