Здесь нужно разобраться с двумя частями. Во-первых, нам нужно захватить ошибки. Это можно легко сделать, передав слой / промежуточное программное обеспечение, перехватывающее ошибку, как описано здесь в официальной документации
Во-вторых, мы должны передать эти ошибки в наш файл журнала. Красивые люди уже сделали это здесь тоже. Некоторые рекомендуют Winston, в то время как другие делают это своими руками, а в образовательных целях, давайте использовать родной путь.
error-logger.js
'use strict';
const fs = require('fs');
const util = require('util');
const logFile = fs.createWriteStream(__dirname + '/debug.log', {flags: 'w'});
const logStdout = process.stdout;
module.exports = function(options) {
return function logError(err, req, res, next) {
console.log('unhandled error', err);
logFile.write(util.format(err) + '\n');
logStdout.write(util.format(err) + '\n');
next(err);
};
};
Не забудьте про промежуточное ПО.
server/middleware.json
{
// ...
"final:after": {
"./middleware/error-logger": {},
"strong-error-handler": {
"params": {
"log": false
}
}
}