Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bunyan-stream-elasticsearch

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bunyan-stream-elasticsearch

A Bunyan stream for sending log data to Elasticsearch with custom entry function

  • 0.6.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
Maintainers
1
Weekly downloads
 
Created
Source

bunyan-stream-elasticsearch

npm version Build Status Dependency Status Dev Dependency Status Known Vulnerabilities

A Bunyan stream for saving logs into Elasticsearch 5.x with custom write function.

Install

npm install bunyan-stream-elasticsearch

Logstash Template

By default bunyan-stream-elasticsearch will create an index with a specific mapping template for your indexPattern. Template name will be 'template-logstash-' with default settings. If your index pattern is for example '[test-]YYYY.MM.DD[-pattern]', template name will be 'template-test--pattern'. Each time node app is starting, template is overwrite. You can disabled it via option template:false or overwrite it via template:{es template}.

Custom Write function

You can add or modify elasticsearch document providing a write(entry) callback option. This allow a fine tuning on how document will be defined. Do not forget to override default template if you add new fields.

Example

let bunyan = require('bunyan');
let bunyanStreamElasticsearch = require('bunyan-elasticsearch');

let writeEntryCallback = function(entry) {
   // modify entry values
   entry.myProperty = 'my value';
};

let esStream = new bunyanStreamElasticsearch({
  indexPattern: '[logstash-]YYYY.MM.DD',
  type: 'logs',
  host: 'localhost:9200',
  defaultTemplate:true,
  writeCallback : writeEntryCallback
});

// manage error case
esStream.on('error', function (err) {
  console.log('Buyan Stream Elasticsearch Error:', err.stack);
});

// Create the logger itself
let logger = bunyan.createLogger({
  name: "My Application",
  streams: [
    // default stream to console
    { stream: process.stdout },
    // and to Elasticsearch
    { stream: esStream }
  ],
  serializers: bunyan.stdSerializers
});

// start logging
logger.info('Starting application on port %d', app.get('port'));

Options

  • client: Elasticsearch client. Defaults to new client created with current set of options as an argument
  • type {string|function}: Elasticsearch type field. Default: 'logs'
  • indexPattern {string}: Used to generate index if index option not set. Default: '[logstash-]YYYY.MM.DD'
  • index {string|function}: Elasticsearch index. Defaults to index generated using index pattern
  • template {json|boolean}: Elasticsearch Template to push to elasticseach at each start. if false no template will be pushed, if {...} will act as template remplacement.
  • writeCallback {function} : Custom write callback to modify entry before pushing it to Elasticsearch.

Options type and index can be either a string or function. For these options, when the option is set to a function, the function is passed the log entry object as an argument

Keywords

FAQs

Package last updated on 13 Feb 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc