Блог

Конвертер HTTP Apache log-файлов в CSV для Excel

Существует множество инструментов для анализа посещаемости сайта: это и различные анализаторы логов, и специальные счетчики, работающие на клиентской стороне - такие как Яндекс-Метрика и Google Analytics. Но иногда хочется посмотреть именно "сырые" логи. А почему бы и нет? Они в текстовом формате, и вполне читабельны.

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

сырой лог Apcahe

Напрашивается очевидное решение: загрузить лог-файл в Excel, и потом анализировать его как угодно в своё удовольствие. Excel - довольно мощный инструмент, но логи Апача не входят в число поддерживаемых им форматов. Можно сконвертировать лог в CSV, такие инструменты есть в интернете... но оказывается, что Excel не дружит со стандартным CSV. У него есть собственное понимание, какой CSV лучше :) Вроде бы его можно настроить при загрузке файла... но настраивать каждый раз для каждого файла - удовольствие сомнительное.

Поэтому я сделал маленькую консольную программу для преобразования логов Апача в CSV, который понимает Excel. Конечный результат выглядит примерно так:

Проект с исходным текстом находится на GitHub.

Инструкция:

  1. загрузить log2excel.zip со страницы Releases, распаковать в подходящее место
  2. в командной строке: log2excel.exe log_file_name
  3. дважды кликнуть получившийся файл log_file_name.csv чтобы открыть в Excel

Совместимость

  • Собрано для .NET 2.0, поэтому должно работать в любой Windows начиная с XP (тестировалось в Windows 7)
  • Протестировано для Excel 2007

 

<< Вернуться на предыдущую страницу