diff options
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/log4js/lib/appenders/logFacesAppender.js')
-rw-r--r-- | vnfmarket/src/main/webapp/vnfmarket/node_modules/log4js/lib/appenders/logFacesAppender.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/log4js/lib/appenders/logFacesAppender.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/log4js/lib/appenders/logFacesAppender.js new file mode 100644 index 00000000..851510cc --- /dev/null +++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/log4js/lib/appenders/logFacesAppender.js @@ -0,0 +1,71 @@ +/** +* logFaces appender sends JSON formatted log events to logFaces server UDP receivers. +* Events contain the following properties: +* - application name (taken from configuration) +* - host name (taken from underlying os) +* - time stamp +* - level +* - logger name (e.g. category) +* - thread name (current process id) +* - message text +*/ + +"use strict"; +var dgram = require('dgram'), + layouts = require('../layouts'), + os = require('os'), + util = require('util'); + +try{ + var process = require('process'); +} +catch(error){ + //this module is optional as it may not be available + //in older versions of node.js, so ignore if it failes to load +} + +function logFacesAppender (config, layout) { + var lfsSock = dgram.createSocket('udp4'); + var localhost = ""; + + if(os && os.hostname()) + localhost = os.hostname().toString(); + + var pid = ""; + if(process && process.pid) + pid = process.pid; + + return function log(loggingEvent) { + var lfsEvent = { + a: config.application || "", // application name + h: localhost, // this host name + t: loggingEvent.startTime.getTime(), // time stamp + p: loggingEvent.level.levelStr, // level (priority) + g: loggingEvent.categoryName, // logger name + r: pid, // thread (process id) + m: layout(loggingEvent) // message text + }; + + var buffer = new Buffer(JSON.stringify(lfsEvent)); + var lfsHost = config.remoteHost || "127.0.0.1"; + var lfsPort = config.port || 55201; + lfsSock.send(buffer, 0, buffer.length, lfsPort, lfsHost, function(err, bytes) { + if(err) { + console.error("log4js.logFacesAppender send to %s:%d failed, error: %s", + config.host, config.port, util.inspect(err)); + } + }); + }; +} + +function configure(config) { + var layout; + if (config.layout) + layout = layouts.layout(config.layout.type, config.layout); + else + layout = layouts.layout("pattern", {"type": "pattern", "pattern": "%m"}); + return logFacesAppender(config, layout); +} + +exports.appender = logFacesAppender; +exports.configure = configure; |