node.js记录文件中的错误

时间:2015-02-13 13:58:00

标签: node.js file logging

我试图将错误记录到node.js中的文件中。 我试过温斯顿:

winston= require('winston');
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({ level: 'error' }),
new (winston.transports.File)({ filename: 'error.log' })
]
});

我也尝试过console.error:

var log_file_err=
fs.createWriteStream(__dirname + '/error.log', {flags : 'a'});

var err_stdout = process.stderr;

console.error = function(d) { //
log_file_err.write(util.format(d) + '\n');
err_stdout.write(util.format(d) + '\n');
};

生成我使用的错误:

function get_time(date)
{
     return date.getHours()+':'+date.getMinutes();
}
console.log(get_time(Date()));//instead of new Date()

我没有得到进一步的错误(只是Date()中想要的未定义)但是error.log保持为空。" debug.log"(正常日志记录)我使用overover console.log正常工作。

1 个答案:

答案 0 :(得分:1)

最后,我找到了一个适合我的解决方案:

var log_file_err=fs.createWriteStream(__dirname + '/error.log',{flags:'a'});  

process.on('uncaughtException', function(err) {
console.log('Caught exception: ' + err);
log_file_err.write(util.format('Caught exception: '+err) + '\n');
});