aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/log4js/lib/appenders/logFacesAppender.js
diff options
context:
space:
mode:
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.js71
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;