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 to127.0.0.1
) - the location of the rabbitmq serverport
-integer
(optional, defaults to5672
) - the port the rabbitmq server is listening onusername
-string
(optional, defaults toguest
) - username to use when authenticating connection to rabbitmqpassword
-string
(optional, defaults toguest
) - password to use when authenticating connection to rabbitmqrouting_key
-string
(optional, defaults tologstash
) - rabbitmq message's routing_keydurable
-string
(optional, defaults to false) - will that RabbitMQ lose our queue.exchange
-string
(optional, defaults tolog
)- rabbitmq send message's exchangemq_type
-string
(optional, defaults todirect
) - rabbitmq message's mq_typevhost
-string
(optional, defaults to/
) - vhost to uselayout
-object
(optional, defaults tomessagePassThroughLayout
) - the layout to use for log events (see layouts).shutdownTimeout
-integer
(optional, defaults to10000
) - 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
.