globaler Recover-Handler für Golang http-Panik

8

Ich möchte einen globalen Fehlerhandler erstellen, um ihn per E-Mail zu senden.

%Vor%

Wie man es global macht. Es wäre einfach, wenn ich weiß, wo der Fehler auftreten wird

%Vor%

Aber was tun in Fällen, in denen ich nicht genau weiß, wo ein Fehler auftreten wird? Also sollte ich einen globalen recover ish-Handler hinzufügen. Aber wie man es genau macht, weiß ich nicht.

Aktualisieren

Ich habe defer recover zum Anfang von main hinzugefügt, aber es wird nie ausgeführt, wenn http://localhost:3001 angefordert wird. Panik wird also nicht per E-Mail gesendet.

%Vor%     
Maxim Yefremov 26.02.2015, 14:58
quelle

1 Antwort

20

Sie können Ihre Handler in eine Wiederherstellungs-Middleware einbinden

%Vor%

Sie können sich einen Codahale Recovery-Handler oder negroni Middleware für weitere Details.

    
tarrsalah 26.02.2015, 15:44
quelle

Tags und Links