我不明白如何配置环回,以使用适当的日志记录策略将强错误处理程序的输出存储到文件中。
答案 0 :(得分:1)
这里有两个部分需要处理。首先,我们需要抓住错误。可以很容易地做到这一点,只需传递层/中间件即可拦截错误,如官方文档{p> 3所述
第二,我们必须将这些错误传递到日志文件中。英俊的人也已经完成了here。有些人推荐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
}
}
}