Push log events to a Rabbitmq MQ. Require log4js-node 2.x or later.
npm install @log4js-node/rabbitmq
If you want to be sure that all messages have been sent before your programme exits, remember to call log4js.shutdown(<callback function>)
.
type
- @log4js-ndoe/rabbitmq
host
- string
(optional, defaults to 127.0.0.1
) - the location of the rabbitmq serverport
- integer
(optional, defaults to 5672
) - the port the rabbitmq server is listening onusername
- string
(optional, defaults to guest
) - username to use when authenticating connection to rabbitmqpassword
- string
(optional, defaults to guest
) - password to use when authenticating connection to rabbitmqrouting_key
- string
(optional, defaults to logstash
) - rabbitmq message's routing_keydurable
- string
(optional, defaults to false) - will that RabbitMQ lose our queue.exchange
- string
(optional, defaults to log
)- rabbitmq send message's exchangemq_type
- string
(optional, defaults to direct
) - rabbitmq message's mq_typevhost
- string
(optional, defaults to /
) - vhost to uselayout
- object
(optional, defaults to messagePassThroughLayout
) - the layout to use for log events (see layouts).shutdownTimeout
- integer
(optional, defaults to 10000
) - maximum time in milliseconds to wait for messages to be sent during log4js shutdown.The appender will use the RabbitMQ Routing model command to send the log event messages to the channel.
log4js.configure({
appenders: {
mq: {
type: '@log4js-node/rabbitmq',
host: '127.0.0.1',
port: 5672,
username: 'guest',
password: 'guest',
routing_key: 'logstash',
exchange: 'exchange_logs',
mq_type: 'direct',
durable: true
}
},
categories: { default: { appenders: ['mq'], level: 'info' } }
});
This configuration will push log messages to the rabbitmq on 127.0.0.1:5672
.