#!/usr/bin/env node var amqp = require('amqplib'); amqp.connect('amqp://localhost').then(function(conn) { process.once('SIGINT', function() { conn.close(); }); return conn.createChannel().then(function(ch) { var ok = ch.assertExchange('logs', 'fanout', {durable: false}); ok = ok.then(function() { return ch.assertQueue('', {exclusive: true}); }); ok = ok.then(function(qok) { return ch.bindQueue(qok.queue, 'logs', '').then(function() { return qok.queue; }); }); ok = ok.then(function(queue) { return ch.consume(queue, logMessage, {noAck: true}); }); return ok.then(function() { console.log(' [*] Waiting for logs. To exit press CTRL+C'); }); function logMessage(msg) { console.log(" [x] '%s'", msg.content.toString()); } }); }).catch(console.warn);