errorhandler middleware

Middleware für den Entwicklungs-only Fehlerhandler.

Diese Middleware ist nur für eine Entwicklungsumgebung gedacht als werden die _full error stack Traces und die internen Details eines Objekts, das an dieses Modul übergeben wurde, an den Client zurückgeschickt, wenn ein Fehler auftritt.

Wenn Express ein Objekt als Fehler zur Verfügung gestellt wird, wird dieses Modul so viel über dieses Objekt wie möglich anzeigen und wird dies durch die Verwendung von Inhaltsaushandlung für die Antwort zwischen HTML, JSON und reinem Text tun.

  • Wenn das Objekt ein Standard-Error Objekt ist, wird der String, der von der stack Eigenschaft bereitgestellt wird, in HTML/Text-Antworten zurückgegeben.
  • Wenn das Objekt ein nicht-Error Objekt ist, wird das Ergebnis von util.inspect in HTML/Text-Antworten zurückgegeben.
  • Für JSON-Antworten wird das Ergebnis ein Objekt mit allen aufzählbaren Eigenschaften aus dem Objekt in der Antwort sein.

Installieren

Dies ist ein Node.js Modul über die npm Registry. Installation erfolgt mit dem npm install Befehl:

Terminal window
$ npm install errorhandler

API

var errorhandler = require('errorhandler');

errorhandler (Optionen)

Erstellen Sie neue Middleware, um Fehler zu beheben und mit Inhaltsverhandlung zu reagieren.

Optionen

Fehlerbehandler akzeptiert diese Eigenschaften im Optionsobjekt.

log

Geben Sie eine Funktion an, die mit dem Fehler und einer Zeichenkettenrepräsentation von aufgerufen werden soll. Kann verwendet werden, um den Fehler an jeden gewünschten Ort zu schreiben, oder setzen Sie auf false um nur den Fehler in der Antwort zurück zu senden. Als log(err, str, req, res) aufgerufen, wobei err das Error Objekt ist, ist str eine String Darstellung des Fehlers, req ist das Anfrageobjekt und res ist das Antwortobjekt (Anmerkung, diese Funktion wird after aufgerufen, die Antwort wurde geschrieben.

Der Standardwert für diese Option ist true außer process.env.NODE_ENV === 'test'.

Mögliche Werte:

  • true: Fehler mit console.error(str) protokollieren.
  • false: Senden Sie nur den Fehler in der Antwort zurück.
  • Eine Funktion: Übergeben Sie den Fehler an eine Funktion für die Handhabung.

Beispiele

Einfaches Beispiel

Einfaches Beispiel für das Hinzufügen dieser Middleware als Fehlerbehandler nur in der Entwicklung mit connect (`express kann auch in diesem Beispiel verwendet werden).

var connect = require('connect');
var errorhandler = require('errorhandler');
var app = connect();
// assumes NODE_ENV is set by the user
if (process.env.NODE_ENV === 'development') {
// only use in development
app.use(errorhandler());
}

Eigener Ausgabeort

Manchmal möchten Sie die Fehler während der Entwicklung an einen anderen Ort als STDERR ausgeben, wie zum Beispiel eine Systembenachrichtigung.

var connect = require('connect');
var errorhandler = require('errorhandler');
var notifier = require('node-notifier');
var app = connect();
// assumes NODE_ENV is set by the user
if (process.env.NODE_ENV === 'development') {
// only use in development
app.use(errorhandler({ log: errorNotification }));
}
function errorNotification(err, str, req) {
var title = 'Error in ' + req.method + ' ' + req.url;
notifier.notify({
title: title,
message: str,
});
}

Lizenz

MIT

HTTPS · expressjs.com
← Home