Вступить в клуб →
лёгкаяpythonЛогирование: сбор, разбор и хранение логов

Разбивка access-лога nginx по классам кодов ответа

Строка access-лога nginx в формате combined:

203.0.113.7 - - [10/Sep/2026:12:00:01 +0300] "GET /api/orders?id=5 HTTP/1.1" 502 157 "-" "curl/8.5.0"

Код ответа — первое число после закрывающей кавычки запроса.

Напишите count_status_classes(lines).

  • lines — список строк лога.
  • Верните словарь {класс: число}, где класс — строка вида "2xx", "4xx", "5xx".
  • Классы, которых нет в логе, в словарь не попадают.
  • Строки, в которых нет запроса в кавычках и трёхзначного кода после него, пропускайте.

заготовка решения

def count_status_classes(lines):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела