NodeJS с Express, используя Morgan в качестве регистратора - PullRequest
0 голосов
/ 31 мая 2019

Я получил регистратор Morgan для записи каждого запроса на сайт (access.log), так что с этим все в порядке.Но потом я начал делать то же самое для 500 - Internal Server Errors, и это тоже не получалось.

При входе в систему access.log я использую следующий код:

fs.existsSync(logDir) || fs.mkdirSync(logDir);
var accessLogStream = rfs('access.log', { interval: '7d', path: logDir });
app.use(morgan('combined', { stream: accessLogStream }));

Но когда дело доходит до регистрации 500 Internal Server Error, я совершенно не понимаю, как это сделать.Я пытался читать документы, просматривать другие темы, но я не нашел ничего полезного.

Вот строка, в которой появляется 500 Internal Server Error:

var errorLogStream = rfs('error.log', { interval: '7d', path: logDir    });
morgan('combined'), { stream: errorLogStream };
app.use(function(err, req, res) {
    res.status(500);
    res.render('errors/500');
});

Для пояснения, error.stack содержит ошибку, которую я хочу записать в error.log.Я также попробовал несколько вещей, чтобы поместить в метод morgan(...), но ни один не дает мне вообще ничего.

Кто-нибудь знает, как указать, какую ошибку я хочу записать сценарием Моргана?

...