Реализован анализатор логов в заданном формате и формирование отчета на основании предоставленного шаблоблона.
Для запуска проекта достаточно:
- склонировать репозиторий;
- установить Python 3.12 любым доступным способом;
- установить зависимости выполнив команду
poetry install- скопировать в директорию
./logsпример с файлом логов (напримерnginx-access-ui.log-20170630.gz) или переопределив путь к нему в файлеconfig.json - при необходимости изменить прочие настройки в файле
config.json - запуск на выполнение
poetry run python -m homework_01Для удобства использования в проект добавлена поддержка make actions. Доступны следующий команды:
make install- установка зависимостей;make run- запуск приложения;make test- запуск тестов c покрытием;make lint- запуск проверки кода;make run-with-docker- запуск приложения с использованием docker;
- SELF_LOG_FILE_PATH - путь до файла, в который должны быть записаны логи. Если не задан, то лог пишется в
stdout. По-умолчанию -None - REPORT_SIZE - количество строк для отчета. По-умолчанию 1000 строк
- REPORT_DIR - директория, в которой будут храниться отчеты. Если не задан, то отчет будет сохранён в
директории
./reports. - LOG_DIR - директория с логами для анализа. Если не задан, то будут использоваться логи из директории
./logs. - LOG_FILE_NAME_PATTERN - шаблон имени файла логов. По-умолчанию
nginx-access-ui.log-* - LOG_ROW_PATTERN - regex-шаблон строки лога.
Запуск проиложения возможен с использованием docker для чего реализована сборка docker image и запуск проекта средствами docker compose.
В запускаемый контейнер проброшены 2 volume
- ./log:/app/log - хранилище логов для парсинга
- ./reports:/app/reports - директория для сохранения подготовленных отчётов