Firestore模拟器每秒输出数十条重复非HTTP/2连接检测日志,求原因分析
原因分析
这条Detected non-HTTP/2 connection.日志来自Firebase模拟器底层依赖的Netty框架的HttpVersionRoutingHandler组件,产生原因如下:
- Firebase Firestore和Authentication模拟器的网络层基于Netty实现,该服务器同时兼容HTTP/1.1和HTTP/2协议。每当客户端(你的应用或Firebase SDK)使用HTTP/1.1发起连接请求时,这个Handler会检测到连接并非HTTP/2类型,从而输出这条INFO级日志。
- 每秒20-50条的高频日志,说明你的应用或测试代码正在频繁向模拟器发起HTTP/1.1请求——Firebase SDK默认通常会用HTTP/1.1与模拟器通信,若存在高频数据读写、身份验证请求等操作,就会触发大量这类日志输出。
- 由于模拟器默认日志级别为INFO,这类仅用于协议检测的非错误日志会被直接打印到控制台,而你的功能正常也验证了这只是正常的协议兼容提示,并非故障。
如果需要抑制这类日志,可以通过调整模拟器日志级别实现:
- 启动模拟器时添加参数:
firebase emulators:start --log-level warn - 或在项目根目录的
firebase.json中配置日志级别,指定io.gapi.emulators.netty包的日志级别为WARN或更高。
内容的提问来源于stack exchange,提问作者Jeffmagma
相关产品推荐
相关产品推荐

