日志里一直在打印mqtt连接的信息,但是我没有在启动脚本里打印任何日志,观察日志发现仅是mqtt发送消息的过程,并不是报错和警示,现将解决过程记录于下,提醒自己不要再犯!!
46766ee375ca5b397a5feb2480f0588.png
我的启动脚本
./mosquitto_libwebsockets/mosquitto -c ./mosquitto_libwebsockets/mosquitto.conf -d -v
修改后的启动脚本
./mosquitto_libwebsockets/mosquitto -c ./mosquitto_libwebsockets/mosquitto.conf -d
一个破参数花了2个小时排查属实有些丢人
mosquitto标准的命令格式
mosquitto [-c config file] [-d daemon] [-p port number] [-v]
-c
config file 指定配置文件路径,如果不指定,会到默认路径下寻找,找不到会报错
-d
daemon 加上这个参数表示运行的时候为后台守护进程
-p
port 指定监听的端口,默认是1883,不指定会使用配置文件里的listener端口号,命令行优先级大于配置文件。
-v
verbose 输出所有log,相当于配置文件的log_type=all,命令行优先级大于配置文件。
我就是因为没注意到优先级和-v 的参数,一直以为是socket日志是其他地方输出的,导致排查方向错误,后来仔细看了启动参数才发先加了-v相当于配置文件log_type全开,难怪我怎么捯饬配置文件都不生效。