General logstash client with multiple transport support
npm install logstash-clientGeneral purpose logstash with multiple transport support
* tcp uses juliangruber's reconnect-net for handling reconnection
* logging library independent (there are some logstash clients for winston, bunyan etc)
* [x] TCP Transport
* [x] UDP Transport
* [x] Memory Transport (for testing)
* [ ] AMQP Transport
* [ ] Codec support
``js
var Logstash = require('logstash-client');
var logstash = new Logstash({
type: 'udp', // udp, tcp, memory
host: 'logstash.example.org',
port: 13333
});
logstash.send(message [, callback]);
`
Takes the following parameters:
* type: type of connection, currently supported tcp, udp, memory
* host: remote hostname
* port: remote port
* format (optional): formatter function (by default the message gets JSON.stringified)
* maxQueueSize (optional): Restricts the amount of messages queued when there is no connection. If not specified the queue is not limited in size.
Example:
`js`
new Client({
type: 'tcp',
host: 'logstash.example.org',
port: 8099,
format: function(message) {
message.formattedAt = new Date();
message.password = '!FILTERED!';
return JSON.stringify(message, null, 2);
},
maxQueueSize: 1000
});
Takes the following parameters:
* message: an object what you are trying to send to your logstash instance
* callback (optional): a function called when the message has been sent
Example:
`js``
var client = new Client({
type: 'tcp',
host: 'example.org',
port: 1337
});
client.send({
'@timestamp': new Date(),
'message': 'Important',
'level': 'error'
});
MIT