我收到了一堆调试信息(没有设置任何内容),如下所示:
GET /echo/info 0ms 200
POST /echo/152/8_4fl_ep/xhr?t=1382556167337 0ms (unfinished)
GET /echo/info 0ms 200
POST /echo/876/st9gz4bi/xhr?t=1382556172720 0ms (unfinished)
GET /echo/info 0ms 200
GET /echo/info 0ms 200
我已经确定导致此问题的行如下:
var my_http = require("http");
var sockjs = require('sockjs');
....
var server = my_http.createServer();
echo.installHandlers(server, {prefix:'/echo'}); // <---- This line causes it
server.listen(8081, '0.0.0.0');
似乎是var my_http = require("http");
任何想法如何关闭它?我的日志被这些请求信息完全垃圾邮件
这是echo
var echo = sockjs.createServer();
echo.on('connection', function(conn) {
conn.on('data', function(message) {});
conn.on('close', function() {});
});
答案 0 :(得分:0)
尝试var echo = sockjs.createServer({log: function () {}});
来自文档:
log(功能(严重性,消息)) 特别是对于调试来说,查看由SockJS节点库打印的一些消息非常有用。这是使用此
log
函数完成的,该函数默认设置为console.log
。如果由于某种原因此行为使您烦恼,请使用自定义处理程序覆盖log
设置。使用了以下severities
:debug
(杂项日志),info
(请求日志),error
(严重错误,请考虑提交问题)。
答案 1 :(得分:0)
更改行
echo.installHandlers(server, {prefix:'/echo'});
为:
echo.installHandlers(server, {
log: function () {},
prefix:'/echo'
});
然后记录应该消失了。如果要将日志记录重定向到除控制台之外的其他位置,可以按如下方式使用它:
echo.installHandlers(server, {
log: function (severity, message) {
// Do whatever you want to do here…
},
prefix:'/echo'
});
message
是自我解释的,severity
可能是debug
,info
和error
之一。有关详细信息,请参阅SockJS documentation。虽然log
基本上是SockJS服务器的一个选项,但您可以在调用installHandlers
时覆盖它。
答案 2 :(得分:0)
看起来它实际上来自sockjs。从documentation开始,您可以使用自己的函数覆盖日志记录(并且可能使用严重性来仅记录警告/错误):
var echo = sockjs.createServer({
log: function (severity, message) {
// Place your logging here if desired
}
});