使用node scribe上报日志,查询结果的时候发现中文字符变成了乱码,经询问服务端,日志在上传时就已是乱码了,说明是端上的问题,因此排查node scribe的问题。node
借用网上一张scribe架构图git
据图能够看出scribe是基于Thrift通讯的,node-scribe中也是依赖了thrift包。数据编码的问题通常就是在通信层。github
要解决中文编码问题,须要对node-scribe的thrift使用进行调整。具体两点:json
将目前node scribe包的thrift版本从0.7.0 升级到0.9.3架构
指定thrift的数据传输按帧的形式发送this
thrift.createConnection(this.host, this.port, {transport: thrift.TFramedTransport});
因为这里须要改动node scribe包,怎么办呢?编码
github上fork一份,本身改代码,而后在package.json中将scribe包指定为本身git的项目地址spa
若是改动后仍是不能解决中文编码问题,能够继续搜索「thrift中文编码」,而不是搜索scribe日志