EMQX支持将日志输出到控制台或者日志文件,或者同时使用两者。使用 Docker 部署 EMQX,默认只能通过 docker logs 命令查看 EMQX 日志。EMQX 的默认日志级别为 warning,默认在单日志文件超过10MB(log.rotation.size配置)的情况下,滚动日志文件。emqx.log.N 文件里面,包含了 warning 以及 warning 以上的日志消息。可在 emqx.conf 中修改,emqx.conf相关日志配置如下:本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
log.to = file log.level = warning log.dir = /var/log/emqx log.file = emqx.log log.rotation.size = 10MB log.rotation.count = 5可以使用EMQX命令行工具emqx_ctl在运行时修改emqx的日志级别,示例如下:
#将全局日志级别primary log level 以及所有 log handlers 的级别设置为debug:
emqx_ctl log set-level debug
#将主日志primary log level 设置为 debug:
$ emqx_ctl log primary-level debug
#修改某个 log handler的日志级别,如将log handler file设置为 debug:
emqx_ctl log handlers set-level file debug
#启动和停止某个已经的 log handler:
$ emqx_ctl log handlers start default
$ emqx_ctl log handlers stop default本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
log handler 是负责日志处理和输出的工作进程,它由 log handler id 唯一标识,并负责接收什么级别的日志、如何过滤日志消息、将日志输出到什么地方三项任务。可以使用命令emqx_ctl log handlers list 查看当前的EMQX服务有哪些日志处理进程。emqx 4.3中安装的 log handlers如下:
$ emqx_ctl log handlers list
LogHandler(id=ssl_handler, level=debug, destination=console, status=started)
LogHandler(id=file, level=warning, destination=/var/log/emqx/emqx.log, status=started)本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
关于EMQX日志追踪,EMQX支持针对ClientID或Topic过滤日志并输出到文件。即我们可以将某个用户或某个主题的日志分离出来统计到指定日志文件中,在使用日志追踪功能之前,必须将 primary log level设置为debug,然后可以开始指定日志追踪规则。日志追踪的原理是给 emqx 安装一个新的 log handler,并设置 handler 的过滤条件。在 日志级别和 log handlers 小节,我们讨论过 log handler 的细节。示例如下:本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
#开启ClientID日志追踪,将所有ClientID为 'my_client' 的日志都输出到log/my_client.log:
$ emqx_ctl log primary-level debug
debug
$ emqx_ctl trace start client my_client log/my_client.log
trace clientid my_client successfully
#开启Topic日志追踪,将主题能匹配到 't/#' 的消息发布日志输出到 log/topic_t.log:
$ emqx_ctl log primary-level debug
debug
$ emqx_ctl trace start topic 't/#' log/topic_t.log
trace topic t/# successfully
#查询已经开启的日志追踪:
$ emqx_ctl trace list本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
查询已经开启的日志追踪,可以看到多了两条追踪的逻辑,并且在日志文件中也能看到增加了my_client.log,tail查看其中的内容可以一目了然地看到用户发送接收的指令数据。本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
最后:EMQX除了可以通过管理后台修改密码之外,还可通过在服务器上执行命令修改密码。使用命令: emqx_ctl admins passwd admin本文地址:http://www.04007.cn/article/1122.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1122.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |