You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用RabbitMQ自定义插件后Docker控制台无日志输出求助

排查自定义RabbitMQ插件无日志输出问题

以下是针对你的问题的具体排查步骤:


  1. 重启RabbitMQ容器确保插件加载
    部分RabbitMQ插件启用后需要重启容器才能完成加载,执行命令:

    docker restart ecomm-rabbit
    

    重启后再查看日志,验证插件启动日志是否出现。

  2. 直接查看RabbitMQ本地日志文件
    Docker控制台输出可能截断或过滤部分日志,进入容器查看完整的RabbitMQ日志:

    docker exec -it ecomm-rabbit tail -f /var/log/rabbitmq/rabbit@my-rabbit.log
    

    该文件包含所有RabbitMQ及插件的日志输出,包括你用rabbit_log:info打印的内容。

  3. 检查RabbitMQ日志级别配置
    确认RabbitMQ的日志级别是否允许输出info级别的内容:

    docker exec -it ecomm-rabbit cat /etc/rabbitmq/rabbitmq.conf
    

    若存在log.level配置且值为warning或error,会过滤掉info级日志,需修改为log.level = info后重启容器。

  4. 验证插件依赖版本匹配
    你的RabbitMQ版本为4.0.6(从插件列表中rabbitmq_amqp1_0的版本可推断),但rebar.config中依赖的amqp_client和rabbit_common为4.0.3,版本不匹配会导致插件加载失败或功能异常。修改依赖版本:

    {deps, [
        {amqp_client, "4.0.6"},
        {rabbit_common, "4.0.6"}
    ]}.
    

    重新编译并部署插件。

  5. 确认rabbit_log的依赖引入
    rabbit_log模块属于rabbit_common应用,需在my_plugin.app.src的applications列表中添加该依赖:

    {applications, [kernel, stdlib, rabbit, rabbit_common, amqp_client]},
    

    缺少该依赖会导致rabbit_log:info调用失败,无日志输出。

  6. 检查插件包完整性
    验证生成的.ez包是否包含所有必要的编译文件:

    docker exec -it ecomm-rabbit unzip -l /opt/rabbitmq/plugins/my_plugin-0.1.0.ez
    

    确认my_plugin.beam、my_plugin_sup.beam、my_plugin_worker.beam均存在,若缺失需重新编译插件。


内容的提问来源于stack exchange,提问作者71a1den

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:37:43