errorhandler middleware

Erro somente-desenvolvedor de middleware.

This middleware is only intended to be used in a development environment, as the full error stack traces and internal details of any object passed to this module will be sent back to the client when an error occurs.

Quando um objeto é fornecido para Expresso como um erro, este módulo será exibido a tanto quanto possível sobre este objeto. e o fará usando a negociação de conteúdo para a resposta entre HTML, JSON e texto sem formatação.

  • Quando o objeto é um objeto padrão Erro, a string fornecida pela propriedade stack será retornada em respostas HTML/texto.
  • Quando o objeto é um objeto que não é um objeto Erro, o resultado de util.inspect será retornado em respostas HTML/texto.
  • Para respostas JSON, o resultado será um objeto com todas as propriedades enumeráveis do objeto na resposta.

Instale

Este é um módulo Node.js disponível através do registro do npm. A instalação é feita usando o comando npm install:

Terminal window
$ npm install errorhandler

API

var errorhandler = require('errorhandler');

fileiras(opcions)

Crie um novo middleware para lidar com erros e responder com negociação de conteúdo.

Opções

O manipulador de erros aceita estas propriedades no objeto de opções.

registro

Forneça uma função a ser chamada com o erro e uma representação string de o erro. Pode ser usado para escrever o erro em qualquer local desejado, ou definido como false para somente enviar o erro de volta na resposta. Chamado como log(err, str, req, res) onde err é o objeto Error, str é uma string representando o erro, req é o objeto de solicitação e res é o objeto de resposta (note esta função é chamada depois que a resposta foi escrita).

O valor padrão para esta opção é ‘true’, a menos que process.env.NODE_ENV === 'test'.

Valores possíveis:

  • true: Registra erros usando console.error(str).
  • false: Só envie o erro de volta à resposta.
  • Uma função: passe o erro para uma função de manipulação.

Exemplos

Exemplo simples

Exemplo básico de adicionar este middleware como o manipulador de erro apenas no desenvolvimento com connect (express também pode ser usado neste exemplo).

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());
}

Local de saída personalizado

Às vezes você pode querer enviar os erros para um local diferente do STDERR durante o desenvolvimento, como uma notificação do sistema, por exemplo.

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,
});
}

Tipo:

MIT