mosquitto:记录消息内容
mosquitto: log message contents
我正在使用 mosquitto 作为 MQTT 代理,虽然它提供了广泛的日志记录功能,但我无法找到如何将实际主题的消息记录到文件中(甚至是按主题排序的文件树,甚至数据库)。我看到了 log_desc topic
选项,但要么它没有按照我的预期去做,要么它不起作用(可能是第一个)。
我知道我可以从另一个进程订阅同一台机器上的一个(或所有)主题并将其通过管道传输到一个文件中,我知道有一个解决方案可以使用 python,但我想知道代理本身是否可以将它传输的数据写入某处,而不仅仅是元数据。
最后我可能需要将它写入数据库,但现在将数据写入文件树甚至只是一个大日志文件就可以了。中介服务可以吗?
不,mosquitto 代理不会记录它自己的所有消息内容。
你能得到的最接近的是这样的:
1569256583: Received PUBLISH from mosq/F7RrCcwvgdVzEVpHi3 (d0, q0, r0, m0, 'test', ... (3 bytes))
这包括消息的主题和大小,但不包括消息本身。
请务必记住,消息内容不一定是文本,它可以是任何字节。
log_dest
标志就是写入日志输出的位置,您可以使用 log_type
条目设置日志记录级别。
我也在用mosquitto
首先安装mosquitto-client.
那么
mosquitto_sub -v -t "topic/name" > mylog.txt
我正在使用 mosquitto 作为 MQTT 代理,虽然它提供了广泛的日志记录功能,但我无法找到如何将实际主题的消息记录到文件中(甚至是按主题排序的文件树,甚至数据库)。我看到了 log_desc topic
选项,但要么它没有按照我的预期去做,要么它不起作用(可能是第一个)。
我知道我可以从另一个进程订阅同一台机器上的一个(或所有)主题并将其通过管道传输到一个文件中,我知道有一个解决方案可以使用 python,但我想知道代理本身是否可以将它传输的数据写入某处,而不仅仅是元数据。
最后我可能需要将它写入数据库,但现在将数据写入文件树甚至只是一个大日志文件就可以了。中介服务可以吗?
不,mosquitto 代理不会记录它自己的所有消息内容。
你能得到的最接近的是这样的:
1569256583: Received PUBLISH from mosq/F7RrCcwvgdVzEVpHi3 (d0, q0, r0, m0, 'test', ... (3 bytes))
这包括消息的主题和大小,但不包括消息本身。
请务必记住,消息内容不一定是文本,它可以是任何字节。
log_dest
标志就是写入日志输出的位置,您可以使用 log_type
条目设置日志记录级别。
我也在用mosquitto
首先安装mosquitto-client.
那么
mosquitto_sub -v -t "topic/name" > mylog.txt