Mal wieder so ein Moment wie ich ihn hier schon öfter hatte:__blackjack__ hat geschrieben: Donnerstag 30. März 2023, 08:31 Es macht Sinn bei Diensten bei unerwarteten Ausnahmen, die vom Programm behandelt werden in dem sie ignoriert werden, möglichst viel zu protokollieren. Also mindestens mit dem `logging`-Modul aus der Standardbibliothek die Ausnahme samt Traceback. Ich mag das externe `loguru`, weil das noch ein paar Informationen zu lokalen Variablen mit in den Traceback packt, die bei der Fehler-/Ursachensuche hilfreich sein können.
erweitertes Traceback und Logging
_______________________________________________________________________________
https://www.python-kurs.eu/index.php
https://learnxinyminutes.com/docs/python/ https://learnxinyminutes.com/docs/de-de/python-de/
https://quickref.me/python https://docs.python-guide.org/
- __blackjack__
- User
- Beiträge: 14328
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Falls es wichtig ist Protokollnachrichten (auch inkrementell) mit Informationen anzureichern, und die maschinell verarbeitbar zu speichern oder an andere Systeme weiter zu leiten ist `structlog` auch eine interessante Alternative.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
Dann werfe ich hier noch das "snoop" Paket in den Raum, das blackjack schon anderswo empfohlen hatte: : https://pypi.org/project/snoop/
__blackjack__ hat geschrieben: Dienstag 17. Januar 2023, 09:59 Mit `snoop` kann man sich die Aufrufreihenfolge und - hierarchie protokollieren lassen:Code: Alles auswählen
09:58:23.01 >>> Call to main in File "forum21.py", line 14 09:58:23.01 14 | def main(): 09:58:23.01 15 | some_function() 09:58:23.01 >>> Call to some_function in File "forum21.py", line 5 09:58:23.01 5 | def some_function(): 09:58:23.01 6 | another_function() 09:58:23.01 >>> Call to another_function in File "forum21.py", line 9 09:58:23.01 9 | def another_function(): 09:58:23.01 10 | print("Hello, World") Hello, World 09:58:23.01 <<< Return value from another_function: None 09:58:23.01 6 | another_function() 09:58:23.01 <<< Return value from some_function: None 09:58:23.01 15 | some_function() 09:58:23.01 <<< Return value from main: None
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
