2013-10-23 21 views
-1

我得到了一堆調試信息(無需任何設置):喜歡的NodeJS這個關閉HTTP調試信息

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() {}); 
}); 
+1

什麼是'echo'?什麼是'installHandlers'? –

+0

'installhandlers'用於'sockjs' https://github.com/sockjs/sockjs-node – Alosyius

回答

0

看起來它實際上來自sockjs。從他們的documentation,你可以重寫其記錄與自己的函數(也可能是使用的嚴重程度,以便只記錄警告/錯誤):

var echo = sockjs.createServer({ 
    log: function (severity, message) { 
     // Place your logging here if desired 
    } 
}); 
0

垃圾郵件試圖var echo = sockjs.createServer({log: function() {}});

從文檔:

日誌(功能(嚴重程度,消息)) 這是相當有用,特別是對於調試,查看由SockJS節點庫打印的一些消息。這是通過使用log功能完成的,默認設置爲console.log。如果出於某種原因出現這種行爲,請使用自定義處理程序覆蓋log設置。使用以下severitiesdebug(其他日誌),info(請求日誌),error(嚴重錯誤,考慮提交問題)。

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可能是debuginfoerror之一。有關詳細信息,請參見SockJS documentation。雖然log基本上是SockJS服務器的一個選項,但您可以在致電installHandlers的電話中覆蓋它。