您好,登錄后才能下訂單哦!
本篇文章為大家展示了Rabbitmq系統(tǒng)日志怎么利用python進(jìn)行監(jiān)聽,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
介紹
rabbitmq默認(rèn)有7個(gè)交換機(jī),其中amq.rabbitmq.log為系統(tǒng)日志的交換機(jī),這個(gè)日志為topic類型,會(huì)有三個(gè)等級的(routing_key)的日志發(fā)送到這個(gè)交換機(jī)上。
代碼如下
#!/usr/bin/env python # -*- coding: utf-8 -*- import pika # ########################### 訂閱者 ########################### credentials = pika.PlainCredentials("用戶名","密碼") connection = pika.BlockingConnection(pika.ConnectionParameters( 'ip', 5672, '/', credentials=credentials)) channel = connection.channel() # 聲明隊(duì)列 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() ''' 然后發(fā)布者只需要給exchange發(fā)送消息,然后exchange綁定的多個(gè)隊(duì)列都有這個(gè)消息了。訂閱者就收到這個(gè)消息了。 '''
上述內(nèi)容就是Rabbitmq系統(tǒng)日志怎么利用python進(jìn)行監(jiān)聽,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。