Przejdź do treści

Python. Funkcja logging.getLogger(). Logi ETL eksportu zamówień i konwersji.

Na czym to polega w sklepie

Funkcja logging.getLogger(name) zwraca logger modułu. W skryptach ETL e-commerce pozwala rozdzielić logi importu zamówień, walidacji feedu i wysyłki hitów GA4 - z poziomem INFO/WARNING/ERROR zamiast print().

Przykład ze sklepu internetowego

Nocny job ładuje CSV zamówień i loguje postęp oraz wiersze odrzucone:

import logging

logger = logging.getLogger("ecommerce.etl.orders")

def import_orders(path: str) -> int:
    logger.info("Start import: %s", path)
  # ...
    logger.warning("Pominięto %d wierszy bez transaction_id", skipped)
    logger.info("Zaimportowano %d zamówień", imported)
    return imported

Co zrobić po stronie biznesu

  • Osobny logger ecommerce.feed vs ecommerce.conversions.
  • Rotacja logów RotatingFileHandler przy dziennych eksportach GA4.
  • Alert Slack gdy logger.error przy zerowym imporcie purchase.

W skrócie

getLogger(__name__) to standard w modułach ETL. Konfiguruj handler raz w entrypoincie - każdy moduł tylko loguje pod swoją nazwą.