socket.io
似乎有一個基本合理的日誌記錄系統的所有內部。我如何自己獲取該日誌記錄對象,以便可以在適當的級別生成我自己的日誌消息?它讓我感到疑惑,即我的console.log()
消息在socket.io
消息旁邊沒有被加時間戳,不加水平和醜陋。我已經在socket.io
代碼中做了一堆探索,並且我現在對節點的瞭解還不夠,無法理解對象層次結構是如何知道如何從我的代碼中獲取所需對象的。長期來看,我可能會想要一個更強大的日誌系統模塊(能夠記錄文件,自動旋轉,基於每個模塊管理級別,自定義日誌級別等)。 Winston看起來很合理,但是我也可以使用socket.io
來使用它嗎?將所有東西都放在一個地方很好。如何插入socket.io的內置日誌記錄系統來生成我自己的消息?
7
A
回答
8
在使用socket.io,我是能夠插入到現有的記錄器模塊,像這樣:
var express = require('express'),
app = module.exports = express.createServer(), //just creating 'app' for io
io = require('socket.io').listen(app),
logger = io.log, // access the existing logger setup in socket.io
util = require('util');
logger.info(util.format("Express server listening on port %d in %s mode", 8003, app.settings.env));
io.configure('production', function(){
io.set('log level', 1);
}
3
您是否使用Connect的記錄器中間件進行了研究?看起來有人已經爲您想要的socket.IO-connect創建了一個庫。我使用類似的東西在我Express程序:
var connect = require('connect');
module.exports = connect.createServer(
connect.logger({ format: ':response-time :method :url' }),
connect.static(__dirname + '/public)
);
相關問題
- 1. Linux系統日誌可以記錄非英文消息嗎?
- 2. 是否可以將.ASPXAUTH用於我自己的日誌記錄系統?
- 3. 如何創建自己的日誌記錄配置的Openfire的插件
- 4. 將系統日誌消息轉換爲mysql插入語句
- 5. 我會如何編寫自己的日誌記錄級別
- 6. 如何在我的程序中創建日誌記錄系統?
- 7. 如何從我的噶刪除HeadlessChrome日誌消息記錄
- 8. 保存來自另一個模型(我自己的日誌系統)的數據
- 9. 如何消除來自特定罐子的日誌記錄
- 10. 我如何將系統日誌消息轉換爲列
- 11. 錯誤的格式化日誌消息;日誌記錄已寫入日誌
- 12. 基於消息內容的系統日誌目的地
- 13. 如何在Python中將日誌記錄配置到系統日誌?
- 14. 從我自己的C++程序剝離caffe的日誌消息
- 15. 系統日誌在日誌輪轉後停止日誌記錄
- 16. 日誌消息來自何處
- 17. 系統日誌中的多行日誌記錄
- 18. 用於生成系統日誌消息的C語言標準接口
- 19. WCF日誌記錄和統計信息
- 20. 如何配置Tomcat以通過系統日誌記錄所有內容?
- 21. 時間日誌記錄系統
- 22. Android文件系統日誌記錄
- 23. 來自日誌子系統的UTF-8不支持消息,Fuse ESB 4.4
- 24. Grails 2.0爲自己的類設置日誌記錄
- 25. Spring SOAP消息參數日誌記錄
- 26. Rails日誌記錄消息test.log?
- 27. 消息和彩信日誌記錄
- 28. wcf rest服務消息日誌記錄
- 29. 轉發Apache日誌作爲系統日誌消息
- 30. 實現WCF消息的自定義日誌記錄客戶端
這是有希望的!我將在明天仔細研究它,看看它是否強制socket-io通過連接中間件路由它的日誌消息。我的回退策略是將套接字日誌設置爲0,並與Winston一起完成我自己的日誌記錄。我會失去一些低級別的訪問權限,但是如果我在套接字級別遇到問題,我會遇到更大的問題,無論如何都需要進行更加精細的調試。 – drewww