lsudp

0.2.3 • Public • Published

logstash-udp

Your log messages go to logstash UDP input (almost) without any overhead.

Installation

npm i lsudp --save

Usage

Somewhere in the app entry module:

var logstash = require('lsudp');
logstash.init({
    appName: 'my-app-1',
    host: 'logstash.mycompany.com',
    port: 7777
});

In any module then:

var logstash = require('lsudp')('my-folder/my-module');
logstash.error('oh no! json: %j, number: %d, string: %s', {everything: 'is broken'}, 1000, 'times');

Will cause logstash receive following over UDP:

{
    "@timestamp": "Date as ISO string here",
    "type": "my-app-1",
    "env": "NODE_ENV value here",
    "source": "my-folder/my-module",
    "level": "ERROR",
    "message": "oh no! json: {\"everything\"\"is broken\"}, number: 1000, string: times"
}

If you want to log structured data, then:

logstash.warning('warning!', mydata);

Resulting message object will have mydata assigned as value of property data.

This still works if you want to use placeholders inside message:

logstash.debug('my %s message %d', 'formatted', 2, { my_custom: 'structured data' });

Notes

If lsudp encounters transport level error, it will output it to stderr in stringified form.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i lsudp

Weekly Downloads

0

Version

0.2.3

License

MIT

Last publish

Collaborators

  • titarenko