使用Node fs.createWriteStream生成日志,但它正在编写重复项

时间:2012-07-23 19:25:38

标签: node.js express

我使用Node 0.6.19和express框架。我的日志记录看到了一些奇怪的事情。首先,我为(createWriteStream)传入请求创建了一个日志。我使用express语法通过以下方法将请求传递到日志中:

var logFile = fs.createWriteStream('log.log', {
    "flags": "a"
});

app.configure(function() {
    app.use(express.logger({
      stream: logFile
    }));
    app.use(express.bodyParser());
    app.use(express.cookieParser());
    app.use(express.methodOverride());
    return app.use(app.router);
});
当我点击快速路线时,

似乎有传入请求的重复:

app.get('/', routes.index);

其次,在我的一些路由中,我在数据库中进行用户查找,并使用相同的createWriteStream方法将用户ID记录到另一个文件。当我做的时候

logFile.write(user_id + 'n');

我得到重复的user_id。查询本身没有问题,它告诉我createWriteStream方法正在发生的事情。

1 个答案:

答案 0 :(得分:1)

如果使用浏览器调用您的应用,则可能会因favicon请求而获得重复输出。您可以通过使用fiddler或某些备用HTTP调试代理拦截请求来轻松验证这一点,具体取决于您的操作系统。