Ich möchte Spuren des Python-Codes speichern, der ausgeführt wird, um http-Anfragen zu behandeln.Speichern von Spuren von HTTP-Anfragen in Python
Wir verwenden Python und Django.
Was ist eine Spur in diesem Zusammenhang?
Ich möchte dies für alle verfolgt HTTP-Anfragen haben:
- request.META,
- request.POST
- request.GET
Für jede Spur gibt es N-mal die Stacktraces der Codeausführung. Im ersten Schritt würde es ausreichen, bekannte Python-Tracebacks als String zu speichern. Im ersten Schritt muss der Wert der Variablen nicht gespeichert werden.
Die Stacktraces können von einem Supervisor-Thread oder explizit durch einen Methodenaufruf im Quellcode erstellt werden. Im ersten Schritt ist explizit genug, der Supervisor-Thread kann später ausgeführt werden.
Die Traces sind optional und nur zum Debuggen und Analysieren. Sie werden nicht benötigt, um die http-Anfragen zu bearbeiten.
Wie könnte das gelöst werden?
Fehlt etwas, um diese Frage zu verstehen? Wenn, ja, bitte hinterlasse einen Kommentar.
aktualisieren
- Was will ich erreichen? Ich möchte eine viel bessere Möglichkeit haben, Fehler in Produktionssystemen zu debuggen. Ich möchte sehen, was passiert ist, bevor ein Fehler aufgetreten ist.
- Alle http Anfragen? Ich denke, ich möchte ungefähr eine Spur pro Minute speichern. Ich schätze, ich werde die Daten nach N Wochen löschen.
Was möchten Sie erreichen? Möchten Sie ein Protokoll aller aufgerufenen Methoden erhalten, wenn eine HTTP-Anfrage verarbeitet wird? –
@AaronDigulla vielen Dank für Ihr Feedback. Ich habe die Frage aktualisiert. Alles klar jetzt? Wenn nicht, bitte hinterlassen Sie einen zweiten Kommentar. – guettli
Sie könnten in https://github.com/getsentry/sentry nachsehen, das eine dedizierte Lösung für Protokollierungsfehler ist. Es hat auch eine Möglichkeit zur manuellen Protokollierung von Daten mit 'Raven' Client –