Skip to content

Instantly share code, notes, and snippets.

@beradrian
Last active November 21, 2017 13:26
Show Gist options
  • Save beradrian/90958341d4c6f61ab66fad0343a5e5c2 to your computer and use it in GitHub Desktop.
Save beradrian/90958341d4c6f61ab66fad0343a5e5c2 to your computer and use it in GitHub Desktop.
Log from JS to Fluentd/Logstash
var log4js = require('log4js');
// Use as host
// - 192.168.99.100 as host for local Docker or the IP provided by `docker-machine ip default`
// var host = '192.168.99.100';
var host = 'localhost';
console.log("Using central log host " + host);
console.log("Configure log4js ...");
function createLogstashAppender(host) {
// configure LogStash appender
return require('log4js-logstash-client').configure({
host: host,
port: 12345,
extend: {
appName: 'log-js',
env: 'DEV'
}
});
}
function createFluentdAppender(host) {
// configure fluentd appender
var appender = require('fluent-logger').support.log4jsAppender('appjs', {
host: host,
port: 24224,
timeout: 3.0,
levelTag: false
});
appender.on('error', function(err) {
// Handle err object
console.log(err);
});
}
// log4js.addAppender(createFluentdAppender(host));
log4js.addAppender(createLogstashAppender(host));
console.log("Log messages");
var logger = log4js.getLogger('com.my.category.JsSample');
logger.info('sample js log');
logger.fatal('sample js error');
setTimeout(function() { process.exit();}, 1000);
{
"name": "log-js",
"main": "log.js",
"engines": {
"node": ">= 0.8.0"
},
"dependencies": {
"log4js": "latest",
"fluent-logger": "latest",
"log4js-logstash-client": "latest"
},
"scripts": {
"run": "node log.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment