Существует множество инструментов для анализа посещаемости сайта: это и различные анализаторы логов, и специальные счетчики, работающие на клиентской стороне - такие как Яндекс-Метрика и Google Analytics. Но иногда хочется посмотреть именно "сырые" логи. А почему бы и нет? Они в текстовом формате, и вполне читабельны.
Проблема в том, что лог Апача представляет собой, в сущности, таблицу из нескольких колонок: IP-адрес, дата/время, команда, код ответа, и т.д. Но эти значения не выровнены по колонкам, поэтому просматривать их довольно затруднительно:
Напрашивается очевидное решение: загрузить лог-файл в Excel, и потом анализировать его как угодно в своё удовольствие. Excel - довольно мощный инструмент, но логи Апача не входят в число поддерживаемых им форматов. Можно сконвертировать лог в CSV, такие инструменты есть в интернете... но оказывается, что Excel не дружит со стандартным CSV. У него есть собственное понимание, какой CSV лучше :) Вроде бы его можно настроить при загрузке файла... но настраивать каждый раз для каждого файла - удовольствие сомнительное.
Поэтому я сделал маленькую консольную программу для преобразования логов Апача в CSV, который понимает Excel. Конечный результат выглядит примерно так:
Проект с исходным текстом находится на GitHub.
Инструкция:
- загрузить log2excel.zip со страницы Releases, распаковать в подходящее место
- в командной строке: log2excel.exe log_file_name
- дважды кликнуть получившийся файл log_file_name.csv чтобы открыть в Excel
Совместимость
- Собрано для .NET 2.0, поэтому должно работать в любой Windows начиная с XP (тестировалось в Windows 7)
- Протестировано для Excel 2007