Экспресс / Морган не сообщает о фатальных ошибках Javascript - PullRequest
0 голосов
/ 22 октября 2018

app.js

var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');

var app = express();

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);

module.exports = app;

Я пытался использовать идентификаторы Моргана, отличные от "dev", например, "common".Однако ошибки JavaScript внутри экспресс-приложения не передаются на консоль, и маршрут просто возвращает код ошибки, например 400 или около того.

error.js

module.exports.removeDuplicates = function(x) {
    y = [];
    for(var i=0; i<x.length; i++) {
        if(!y.includes(x[i]))
            y.push(x[i]);
    }
    thisisanerror
    return y;
}

1 Ответ

0 голосов
/ 22 октября 2018

У меня была такая же проблема.Я прочитал «Морган» и «регистратор» и подумал, что могу использовать Морган для регистрации всего.

Однако Морган - просто HTTP-регистратор.Он только регистрирует методы HTTP, пути, параметры, время ответа и т. Д.

Вам понадобится что-то вроде log4js: https://www.npmjs.com/package/log4js

...