
Security News
NVD Quietly Sweeps 100K+ CVEs Into a “Deferred” Black Hole
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
bunyan-stream-elasticsearch
Advanced tools
A Bunyan stream for sending log data to Elasticsearch with custom entry function
A Bunyan stream for saving logs into Elasticsearch 5.x with custom write function.
V1.0 requires ES6.
npm install bunyan-stream-elasticsearch
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]
the template name will be template-test--pattern
. Each time an instance of this stream is created, the template will be overwritten.
You can disable it by passing the option template: false
or provide your own via template: {elastic template}
.
You can add or modify elasticsearch document providing a write(entry)
callback option.
This allows a fine tuning on how the document will be defined. Do not forget to override the default template if you add new fields.
const bunyan = require('bunyan');
const ElasticsearchStream = require('bunyan-stream-elasticsearch');
const writeCallback = entry => {
// modify entry values
entry.myProperty = 'my value';
return entry;
};
const esStream = new ElasticsearchStream({
indexPattern: '[logstash-]YYYY.MM.DD',
type: 'logs',
host: 'localhost:9200',
defaultTemplate: true,
writeCallback,
});
// manage error case
esStream.on('error', err => console.log('Buyan Stream Elasticsearch Error:', err.stack));
// Create the logger itself
const 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'));
client
: Elasticsearch client. Defaults to new client created with current set of options as an argumenttype
{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 patterntemplate
{object|boolean}: Elasticsearch Template to push to elasticseach at each start. If false
no template will be pushed, if {...}
will act as template replacement.writeCallback
{function} : Custom write callback to modify the log 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
FAQs
A Bunyan stream for sending log data to Elasticsearch with custom entry function
The npm package bunyan-stream-elasticsearch receives a total of 5 weekly downloads. As such, bunyan-stream-elasticsearch popularity was classified as not popular.
We found that bunyan-stream-elasticsearch demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
Research
Security News
Lazarus-linked threat actors expand their npm malware campaign with new RAT loaders, hex obfuscation, and over 5,600 downloads across 11 packages.
Security News
Safari 18.4 adds support for Iterator Helpers and two other TC39 JavaScript features, bringing full cross-browser coverage to key parts of the ECMAScript spec.