Verwendet Ihre Anwendung eine Kombination aus Rails, Grape, Hanami, Padrino oder Sinatra? Folgen Sie unserem Leitfaden zum Instrumentieren mehrerer Rack-Anwendungen.
Installation
Nachdem Sie das AppSignal-Gem installiert haben, fügen Sie die AppSignal-Integration nach dem Require vonhanami/boot in der config.ru-Datei hinzu.
Exception-Handling
Hanami verfügt standardmäßig über kein Exception-Handling. Der Webserver (etwa Puma oder Unicorn) zeigt eine einfache „internal server error”-Seite an, wenn in der App ein Fehler auftritt. Diese unbehandelten Ausnahmen werden automatisch an AppSignal gemeldet. Der Hanami-Leitfaden zum Exception-Handling erklärt, wie benutzerdefiniertes Exception-Handling zu Hanami-Anwendungen hinzugefügt werden kann, um eigene Fehlerseiten zu rendern. Behandelte Ausnahmen werden nicht automatisch an AppSignal gemeldet. Wir empfehlen, den folgenden Code zur Basis-Action-Klasse der Anwendung inapp/action.rb hinzuzufügen, um Exception-Handling für StandardError zu ergänzen. Auf diese Weise ist es nicht nötig, jeder Action-Klasse Exception-Handling hinzuzufügen.
Rufen Sie in der Methode handle_standard_error, die mit handle_exception konfiguriert wird, den Helper Appsignal.report_error auf, um die Ausnahme an AppSignal zu melden und keine Fehler zu verpassen, die von Ihrer App gemeldet werden. (Verwenden Sie den Helper Appsignal.set_error, wenn Sie Ruby-Gem-Version 3 oder älter verwenden.)
Appsignal.report_error zu den Hanami-Ausnahmen hinzugefügt haben, die Sie melden möchten, meldet AppSignal diese Fehler, sobald sie auftreten.