errorhandler middleware
Gestionnaire d’erreurs uniquement pour le développement du middleware.
Ce middleware est uniquement destiné à être utilisé dans un environnement de développement, comme la pile d’erreurs _full trace et les détails internes de tout objet passé à ce module sera renvoyée au client lorsqu’une erreur survient.
Lorsqu’un objet est fourni à Express par erreur, ce module affichera autant que possible sur cet objet et le fera en utilisant la négociation de contenu pour la réponse entre HTML, JSON et texte brut.
- Lorsque l’objet est un objet standard
Error, la chaîne fournie par la propriétéstacksera retournée dans les réponses HTML/texte. - Lorsque l’objet est un objet non-
Error, le résultat de util.inspect sera retourné dans les réponses HTML/texte. - Pour les réponses JSON, le résultat sera un objet avec toutes les propriétés énumérables de l’objet dans la réponse.
Installer
Ceci est un module Node.js disponible via
npm registry. L’installation se fait à l’aide de la commande
npm install:
$ npm install errorhandlerAPI
var errorhandler = require('errorhandler');gestionnaire d’erreurs (options)
Créez un nouveau middleware pour gérer les erreurs et répondre par la négociation de contenu.
Options
Gestionnaire d’erreurs accepte ces propriétés dans l’objet d’options.
Logs
Fournir une fonction à appeler avec l’erreur et une représentation de la chaîne
l’erreur. Peut être utilisé pour écrire l’erreur à n’importe quel emplacement désiré, ou mettre à
false pour ne renvoyer que l’erreur dans la réponse. Called as
log(err, str, req, res) where err is the Error object, str is a string
representation of the error, req is the request object and res is the
response object (note, this function is invoked after the response has been
written).
La valeur par défaut pour cette option est true sauf si process.env.NODE_ENV === 'test'.
Valeurs possibles :
true: Log les erreurs en utilisantconsole.error(str).false: renvoie uniquement l’erreur dans la réponse.- Une fonction : passez l’erreur à une fonction pour la manipuler.
Exemples
Exemple simple
Exemple de base de l’ajout de ce middleware en tant que gestionnaire d’erreurs seulement dans le développement
avec connect (express peut également être utilisé dans cet exemple).
var connect = require('connect');var errorhandler = require('errorhandler');
var app = connect();
// assumes NODE_ENV is set by the userif (process.env.NODE_ENV === 'development') { // only use in development app.use(errorhandler());}Localisation de sortie personnalisée
Parfois, vous pouvez vouloir envoyer les erreurs à un autre emplacement que STDERR pendant le développement, comme par exemple une notification système.
var connect = require('connect');var errorhandler = require('errorhandler');var notifier = require('node-notifier');
var app = connect();
// assumes NODE_ENV is set by the userif (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, });}