A Seneca.js logger for Logstash
- Lead Maintainer: David Gonzalez
- Sponsor: nearForm
- node: 4.x, 6.x
This module is a plugin that enables your Seneca-based microservice to send logs to Logstash via TCP or UDP.
Supports Seneca versions 2 - 3.x
Here is an example on how to use the logger:
var Seneca = require('seneca')
var logstash = {
host: 'localhost',
port: 7132,
type: 'udp'
}
var seneca = Seneca({legacy: {logging: false}, 'logstash-logger': logstash})
seneca.use(require('seneca-logstash-logger'))
And that's all! From now on, all the Seneca log output will be sent to the Logstash
instance specified by the host
property of the configuration.
In order to configure the logger there is a number of configuration parameters that can be passed into Seneca in the key 'logstash-logger'.
Those parameters are defined by Node Logstash Client which is the library used by this module to communicate to logstash.
If you need to spin up a new instance of logstash for testing purposes, the following command matches the configuration from the example above:
docker run -it --rm -p 7132:7132 logstash logstash -e 'input { udp { port => 7132} } output { stdout { } }'
Please note that if you are using docker-machine or any other virtualization
technology to run Docker you will need to replace localhost
by the IP of the docker-machine
(just run docker-machine ip
in the console).
seneca-logstash-logger is only compatible with Seneca 3.0+ and Node 4.x+
The Senecajs org encourage open participation. If you feel you can help in any way, be it with documentation, examples, extra testing, or new features please get in touch.
Copyright (c) 2016, David Gonzalez and other contributors. Licensed under MIT.