基于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&MongoDB爬取图书馆借阅记录
Feb 05 Python
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
Python随机函数random()使用方法小结
Apr 29 Python
简单了解python反射机制的一些知识
Jul 13 Python
python requests指定出口ip的例子
Jul 25 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
Django模板标签中url使用详解(url跳转到指定页面)
Mar 19 Python
python实现AdaBoost算法的示例
Oct 03 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 Python
Python 用户输入和while循环的操作
May 23 Python
python scipy 稀疏矩阵的使用说明
May 26 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 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
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
python超简单解决约瑟夫环问题
2015/05/12 Python
使用Python对Access读写操作
2017/03/30 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
python实现canny边缘检测
2020/09/14 Python
秋季婚礼证婚词
2014/01/11 职场文书
表扬信格式
2014/01/12 职场文书
政风行风评议整改方案
2014/09/15 职场文书
合作协议书模板
2014/10/10 职场文书
放假通知范文
2015/04/14 职场文书
公司表扬信格式
2015/05/04 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL
Redis命令处理过程源码解析
2022/02/12 Redis
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js