Ich wüsste gern die Meinung zur AUsgestaltung eines logging formatters ....
1. aktuell verwende ich %(filename)s %(funcName)-15s. Das funktioniert, aber die Kombination aus filename und funcname kann ganz schön lang werden, sodass das Textbild komisch aussieht.
Kann ich das gleichmässiger gestalten? Mir fiele nur %(filename)-15s %(funcName)-15s ein?
2. Copilot hat das Fehlen von asctime bemängelt.
Das ist tatsächlich richtig; Mein Skript bearbeitet automatisiert eingehende Dateien. Die Zuordnung zu einer "problematischen" Datei ist aber wichtig und gut über die Zeit machbar. Die Startzeit meines Skripts gebe ich einmalig am Anfang aus. Mit filename, funcname und asctime wird der ANfang der Logging-Zeile ganz schön überladen
Wie sähe der optimale formatter aus? Im Grunde müsste noch die bearbeitete EINgabedatei in den formatter.
Feinheiten beim logging formatter ...
Ich komme mal von der anderen Seite und bemerke: Eigentlich kommt es darauf an, wie du die Dateien liest. Und da gibt es kein richtig oder falsch. Du könntest dir Formate wie das Common Log Format als Inspiration anschauen. Wichtig ist, dass du alle Informationen logst, die du brauchst - und nach Möglichkeit nicht mehr. Wird die Zeile zu lang, könntest du sie in mehrere Zeilen aufteilen. Ich habe auch Programme, die in ein CSV-Format loggen, weil mir das bei der Auswertung hilft.
- __blackjack__
- User
- Beiträge: 14185
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Oder man loggt gar keine reine Textdatei sondern strukturierte Daten, beispielsweise als JSON-Lines. Da lohnt eventuell auch ein Blick auf `structlog`.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
- __blackjack__
- User
- Beiträge: 14185
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@drnicolas: Deswegen gibt es die Level ja, man muss die ja nicht ausgeben wenn man nicht gerade auf Fehlersuche ist.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?