基于python实现监听Rabbitmq系统日志代码示例


Posted in Python onNovember 28, 2020

介绍

rabbitmq默认有7个交换机,其中amq.rabbitmq.log为系统日志的交换机,这个日志为topic类型,会有三个等级的(routing_key)的日志发送到这个交换机上。

代码如下

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import pika
# ########################### 订阅者 ###########################
credentials = pika.PlainCredentials("用户名","密码")
connection = pika.BlockingConnection(pika.ConnectionParameters(
  'ip',
  5672,
  '/',
  credentials=credentials))

channel = connection.channel()


# 声明队列
channel.queue_declare(queue='info_queue',durable=True)
channel.queue_declare(queue='error_queue',durable=True)
channel.queue_declare(queue='warning_queue',durable=True)

# 绑定
channel.queue_bind(exchange='amq.rabbitmq.log',queue="info_queue",routing_key="info")
channel.queue_bind(exchange='amq.rabbitmq.log',queue="error_queue",routing_key="error")
channel.queue_bind(exchange='amq.rabbitmq.log',queue="warning_queue",routing_key="warning")

print(' [*] Waiting for logs. To exit press CTRL+C')

def callback(ch, method, properties, body):
  print(" [x] %r" % body)
  print(" [x] Done")
  ch.basic_ack(delivery_tag=method.delivery_tag)

channel.basic_consume("info_queue",callback,auto_ack=False)
channel.basic_consume("error_queue",callback,auto_ack=False)
channel.basic_consume("warning_queue",callback,auto_ack=False)

channel.start_consuming()
'''
然后发布者只需要给exchange发送消息,然后exchange绑定的多个队列都有这个消息了。订阅者就收到这个消息了。
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现获取操作系统版本信息方法
Apr 08 Python
Python的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
python实现视频分帧效果
May 31 Python
Django中间件基础用法详解
Jul 18 Python
python 模拟银行转账功能过程详解
Aug 06 Python
使用python获取邮箱邮件的设置方法
Sep 20 Python
详解Python time库的使用
Oct 10 Python
python函数定义和调用过程详解
Feb 09 Python
Python要如何实现列表排序的几种方法
Feb 21 Python
python 19个值得学习的编程技巧
Aug 15 Python
关于django python manage.py startapp 应用名出错异常原因解析
Dec 15 Python
Python Http请求json解析库用法解析
Nov 28 #Python
基于Django集成CAS实现流程详解
Nov 28 #Python
Django haystack实现全文搜索代码示例
Nov 28 #Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 #Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 #Python
Python self用法详解
Nov 28 #Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 #Python
You might like
搜索引擎技术核心揭密
2006/10/09 PHP
php图片验证码代码
2008/03/27 PHP
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php实现读取内存顺序号
2015/03/29 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
js TextArea的选中区域处理
2010/12/28 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
django的ORM操作 增加和查询
2019/07/26 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
标记环介质访问控制协议
2016/03/27 面试题
中专毕业生自荐信
2013/11/16 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
地震捐款简报
2015/07/21 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技