如何屏蔽Binance Node.js Websocket保活日志,仅显示自定义日志?
解决Binance Node.js Websocket的保活日志问题
你遇到的是Binance Node.js SDK默认输出的WebSocket监听密钥保活周期日志,要只显示自定义日志,有两种常用方法:
方法一:调整日志级别
通过设置logLevel参数,将日志级别设为warn或更高,这样只会输出警告及错误日志,屏蔽info级别的保活日志。修改初始化代码如下:
const { WebsocketClient } = require('binance'); const wsClient = new WebsocketClient( { api_key: key, api_secret: secret, beautify: true, logLevel: 'warn' // 设为warn或error,屏蔽info级日志 }, ); wsClient.on('message', (data) => { // 自定义日志逻辑 console.log('blabla'); });
方法二:自定义日志过滤器
如果需要保留部分info级日志,只是屏蔽保活相关内容,可以自定义logger过滤特定日志:
const { WebsocketClient } = require('binance'); // 自定义logger,过滤掉包含"Completed keep alive cycle"的日志 const customLogger = { trace: console.trace, debug: console.debug, info: (msg) => { if (!msg.includes('Completed keep alive cycle')) { console.info(msg); } }, warn: console.warn, error: console.error, fatal: console.error }; const wsClient = new WebsocketClient( { api_key: key, api_secret: secret, beautify: true, logger: customLogger // 使用自定义logger }, ); wsClient.on('message', (data) => { // 自定义日志逻辑 console.log('blabla'); });
这样就能只显示你通过console.log输出的自定义内容,不再看到保活周期的日志。
内容的提问来源于stack exchange,提问作者SunnyBeachTaxi.com
相关产品推荐
相关产品推荐

