Skip to content

titarenko/logstash-udp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published