Zum Hauptinhalt springen

Warum Logging?

print ist okay zum Lernen. Logging ist besser für echte Apps:

  • Level: DEBUG, INFO, WARNING, ERROR
  • abschaltbar/filterbar
  • einheitliches Format

Beispiel

import logging

logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
logging.info("Programm startet")
logging.warning("Datei fehlt – nutze Defaults")
logging.error("Kritischer Fehler")

Rate mal!

Wann WARNING statt INFO?

Auflösung

Wenn etwas ungewöhnlich ist, das Programm aber weiterlaufen kann.

Probiere es selbst

Experiment 1

basicConfig + info.

Experiment 2

warning und error.

Experiment 3

level=DEBUG und debug-Meldung.

Übungen

Level 1

Eine info-Zeile.

Level 2

Start/Ende loggen.

Level 3

Bei fehlender Datei warning.

Level-1-Lösung
import logging
logging.basicConfig(level=logging.INFO)
logging.info("Hallo Log")

Mini-Quiz

Mini-QuizWelches Level ist ernster als WARNING?

Logging-Idee sitzt! Als Nächstes: Logs mit Variablen.