Heim >Web-Frontend >js-Tutorial >So verwenden Sie Raygun zur Behandlung von Fehlern in Node.js „applications_node.js'.
Unser raygun4node-Paket bietet eine bequeme Möglichkeit, Ihre Node.js-Fehler an Raygun zu senden. Es kann einfach mit npm installiert werden:
npm install raygun
Es gibt Ihnen einen Raygun-Client, mit dem Sie Ihren API-Schlüssel konfigurieren und mit dem Sie Fehlermeldungen manuell senden können. Später könnten Sie jedoch sagen: „Ich möchte nicht alle Fehler manuell senden. Senden Sie sie alle an.“ Raygun, das hört sich nach einer Menge Arbeit an!“ Wenn Sie express.js verwenden, kann die Verwendung des Express-Prozessors dieses Problem leicht lösen.
var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); app.use(raygunClient.expressHandler);
In anderen Fällen möchten Sie möglicherweise einfach auf uncaughtException warten und auf diese Weise eine Fehlermeldung senden.
var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); process.on('uncaughtException', function(err) { raygunClient.send(err); });
Wenn Sie damit beginnen, müssen Sie verstehen, was es bedeutet. Wenn jedoch eine Zeitblase ganz zurück in die Ereignisschleife gelangt, wird dieses Ereignis ausgegeben. Dann wird die Standardaktion nicht mehr ausgeführt. Die Standardaktion besteht darin, die Aufrufstapelinformationen auszudrucken und den Prozess zu beenden. Wenn Sie nach dem Auslösen fortfahren, befindet sich Ihr Knotenprozess in einem undefinierten Zustand Sie sollten dies nicht verwenden und es könnte in Zukunft entfernt werden. Die vorgeschlagene Alternative ist die Verwendung von Domänen. Unten sehen Sie ein kleines und einfaches Beispiel. Sie können sehen, wie sich der Raygun-Client an Ihre Verwendung der Domäne anpasst.
var domain = require('domain'); var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); var server = require('http').createServer(function (req, res) { var d = domain.create(); d.on('error', function (err) { raygunClient.send(err); // clean up and end }); d.add(req); d.add(res); d.run(function () { // handle the req, res }); }); server.listen(3000);
Ich hoffe, dass Ihnen dies ein besseres Verständnis der Fehlerbehandlung in Node.js mit Raygun vermittelt.
Fehler kontinuierlich bereinigen!