text: import sys
  import pika
  
  
  connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
  channel = connection.channel()
  
  channel.exchange_declare(exchange='topic_logs', exchange_type='topic')
  
  result = channel.queue_declare(queue='', exclusive=True)
  queue_name = result.method.queue
  
  binding_keys = sys.argv[1:]
  if not binding_keys:
      sys.stderr.write("Usage: %s [binding_key]\n" % sys.argv[0])
      sys.exit(1)
  
  for binding_key in binding_keys:
      channel.queue_bind(exchange='topic_logs',
          queue=queue_name,
          routing_key=binding_key
          )
  
  print(' [*] Waiting for messages. To exit press CTRL+C')
  
  def callback(ch, method, properties, body):
      print(f" [x] Received {body}: {method.routing_key}")
  
  channel.basic_consume(
      queue=queue_name, on_message_callback=callback, auto_ack=True)
  
  channel.start_consuming()
  