Интересно достаточно одной из наиболее распространенных мер сложности кода является глубина вложения. Ваше решение "If-then-else" может быть классифицировано как [еще 110] комплекс автоматизированным анализатором кода, чем Ваш шаблонный.
Однако я видел достаточно "WTF?" кодирование этого, которое Вы описываете, что я обычно шел бы для подхода if-then-else. Но рассмотрите это; возможно использовать Ваш более сложный, шаблонный подход, но разделить особенно трудные компоненты на хорошо названные методы? Если можно сделать так (возможно даже осуществляющий рефакторинг для устранения дублирование), можно быть в состоянии избежать худших аспектов алгоритма при предотвращении многоуровневой if-then-else структуры также.
Вместо загрузки файла access.log
неизвестной и ненадежной третьей стороне я бы предложил установить настольное приложение, такое как Apache Log Viewer . Цитата с его веб-сайта:
Apache Logs Viewer (ALV) - это бесплатный и мощный инструмент, который позволяет отслеживать , просматривать и анализировать журналы Apache с другими легкость. Он предлагает функции поиска и фильтра для файла журнала, выделяя различные HTTP-запросы на основе их кода состояния. Также имеется возможность создания отчетов, поэтому вы можете создать круговую / гистограмму за секунды. Вместе с этим есть также статистика, по которой вы можете получить самые популярные запросы, самые популярные ошибки, количество кодов состояния, общую пропускную способность и многое другое.
Apache Logs Viewer - отличный инструмент для веб-аналитики. Используйте его, чтобы сделать ваш сайт более продуктивным, выявлять любые ошибки и исправлять их. Вы можете определить страну происхождения посетителей, и, если ведение журнала реферера включено, легче увидеть, с какого веб-сайта приходят клиенты, какие поисковые запросы и какие страницы посещались.
Возможности
- Простая установка (Windows Application)
- Не требует установки на сервере Apache
- Цветовой код Строки журнала в соответствии с кодами состояния
- Перевести IP в страну с помощью базы данных GeoLite (быстро, без поиска)
- Поиск IP-адреса, строки запроса, Дата, Реферер
- Фильтр в соответствии с кодом состояния HTTP (или диапазоном)
- Экспорт в текстовый файл / значение, разделенное запятыми, txt / csv
- Визуальные отчеты (круговые / столбчатые диаграммы)
- Статистика