Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / log4js / lib / appenders / logFacesAppender.js
1 /**
2 * logFaces appender sends JSON formatted log events to logFaces server UDP receivers.
3 * Events contain the following properties:
4 *  - application name (taken from configuration)
5 *  - host name (taken from underlying os)
6 *  - time stamp
7 *  - level
8 *  - logger name (e.g. category)
9 *  - thread name (current process id)
10 *  - message text
11 */
12
13 "use strict";
14 var dgram = require('dgram'),
15     layouts = require('../layouts'),
16     os = require('os'),
17     util = require('util');
18
19 try{
20         var process = require('process');
21 }
22 catch(error){
23    //this module is optional as it may not be available
24         //in older versions of node.js, so ignore if it failes to load
25 }
26
27 function logFacesAppender (config, layout) {
28   var lfsSock = dgram.createSocket('udp4');
29   var localhost = "";
30
31   if(os && os.hostname())
32      localhost = os.hostname().toString();
33
34    var pid = "";
35    if(process && process.pid)
36       pid = process.pid;
37
38   return function log(loggingEvent) {
39     var lfsEvent = {
40       a: config.application || "",                      // application name
41       h: localhost,                                     // this host name
42       t: loggingEvent.startTime.getTime(),              // time stamp
43       p: loggingEvent.level.levelStr,                   // level (priority)
44       g: loggingEvent.categoryName,                     // logger name
45       r: pid,                                           // thread (process id)
46       m: layout(loggingEvent)                           // message text
47     };
48
49     var buffer = new Buffer(JSON.stringify(lfsEvent));
50     var lfsHost = config.remoteHost || "127.0.0.1";
51     var lfsPort = config.port || 55201;
52     lfsSock.send(buffer, 0, buffer.length, lfsPort, lfsHost, function(err, bytes) {
53        if(err) {
54          console.error("log4js.logFacesAppender send to %s:%d failed, error: %s",
55                         config.host, config.port, util.inspect(err));
56        }
57     });
58   };
59 }
60
61 function configure(config) {
62         var layout;
63         if (config.layout)
64                 layout = layouts.layout(config.layout.type, config.layout);
65     else
66        layout = layouts.layout("pattern", {"type": "pattern", "pattern": "%m"});
67    return logFacesAppender(config, layout);
68 }
69
70 exports.appender = logFacesAppender;
71 exports.configure = configure;