我想在每次发生时将服务器请求的详细信息记录到文件中。
这样做的最佳方式是什么?
目前正在使用:
fs.open("./log_"+log_date.getMonth()+"-"+log_date.getDate(), "a+", function(err, fd){
if(err) {
sys.puts(err);
} else {
var logLineStr = JSON.stringify(log_line);
fs.write(fd, logLineStr,null,null,null, function(err, written, buffer) {
fs.close(fd);
});
}
});
答案 0 :(得分:0)
http://nodejs.org/docs/v0.4.11/api/fs.html#fs.write
请注意,在同一文件上多次使用fs.write而不等待回调是不安全的。对于这种情况,强烈建议使用fs.createWriteStream。
我将假设这是处理请求,并且可能同时发生多次打开/写入。
您最好在需要时编写一个打开文件的模块,并维护一个可写流以确保您没有任何奇怪的边缘情况/竞争条件。
答案 1 :(得分:0)
只需使用winston
即可