One consumer and two producers using threads
Logging after an infinite loop

The only way that this:

while True:
    time.sleep(1)
    message = random.randint(1, 101)
    logging.info("Producer_1 got message: %s", message)
    queue_1.put(message)
    event_1.set()


is going to terminate is on an exception. That in itself isn't a bad thing - stop iteration exceptions are a common pattern in Python. However, it means that this line:

logging.info("Producer_1 Exiting")


can by definition never execute. You might want to try:

try:
    while True:
        time.sleep(1)
        message = random.randint(1, 101)
        logging.info("Producer_1 got message: %s", message)
        queue_1.put(message)
        event_1.set()
finally:
    logging.info("Producer_1 Exiting")


main method

Putting code in this block:

if __name__ == "__main__":


doesn't remove it from global scope. For that, you need to add a main function.