遇到的情况是:程序与emqx服务器的连接丢失,排查后发现是程序中有一些报错,比如空指针的错误,但是这些报错的信息没有被输出在日志中,像是被连接丢失给打断了。然后大多数情况的连接丢失都是因为程序有报错导致的,并且这些报错日志都没有输出。
有了解的大佬能提供一些帮助吗
这种情况从 emqx 的角度看, emqx 收到的是 tcp_closed, 跟正常的 TCP 断开区分不开,所以 emqx 不会打印错误日志。要调查这类问题,可以通过日志追踪功能查看某一个客户端的日志详情,如果发现在 emqx 发送完若干条消息之后的很短时间内,客户端突然断开了,就可以怀疑此类问题。
https://www.emqx.io/docs/zh/latest/observability/tracer.html
好的,谢谢您!我再研究下