123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- /* automatically generated by JSCoverage - do not edit */
- if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
- if (! _$jscoverage['appenders/gelf.js']) {
- _$jscoverage['appenders/gelf.js'] = [];
- _$jscoverage['appenders/gelf.js'][1] = 0;
- _$jscoverage['appenders/gelf.js'][2] = 0;
- _$jscoverage['appenders/gelf.js'][3] = 0;
- _$jscoverage['appenders/gelf.js'][4] = 0;
- _$jscoverage['appenders/gelf.js'][5] = 0;
- _$jscoverage['appenders/gelf.js'][6] = 0;
- _$jscoverage['appenders/gelf.js'][7] = 0;
- _$jscoverage['appenders/gelf.js'][9] = 0;
- _$jscoverage['appenders/gelf.js'][10] = 0;
- _$jscoverage['appenders/gelf.js'][11] = 0;
- _$jscoverage['appenders/gelf.js'][12] = 0;
- _$jscoverage['appenders/gelf.js'][13] = 0;
- _$jscoverage['appenders/gelf.js'][14] = 0;
- _$jscoverage['appenders/gelf.js'][15] = 0;
- _$jscoverage['appenders/gelf.js'][16] = 0;
- _$jscoverage['appenders/gelf.js'][17] = 0;
- _$jscoverage['appenders/gelf.js'][19] = 0;
- _$jscoverage['appenders/gelf.js'][20] = 0;
- _$jscoverage['appenders/gelf.js'][21] = 0;
- _$jscoverage['appenders/gelf.js'][22] = 0;
- _$jscoverage['appenders/gelf.js'][23] = 0;
- _$jscoverage['appenders/gelf.js'][24] = 0;
- _$jscoverage['appenders/gelf.js'][25] = 0;
- _$jscoverage['appenders/gelf.js'][26] = 0;
- _$jscoverage['appenders/gelf.js'][37] = 0;
- _$jscoverage['appenders/gelf.js'][38] = 0;
- _$jscoverage['appenders/gelf.js'][39] = 0;
- _$jscoverage['appenders/gelf.js'][40] = 0;
- _$jscoverage['appenders/gelf.js'][41] = 0;
- _$jscoverage['appenders/gelf.js'][42] = 0;
- _$jscoverage['appenders/gelf.js'][43] = 0;
- _$jscoverage['appenders/gelf.js'][44] = 0;
- _$jscoverage['appenders/gelf.js'][45] = 0;
- _$jscoverage['appenders/gelf.js'][48] = 0;
- _$jscoverage['appenders/gelf.js'][49] = 0;
- _$jscoverage['appenders/gelf.js'][50] = 0;
- _$jscoverage['appenders/gelf.js'][51] = 0;
- _$jscoverage['appenders/gelf.js'][52] = 0;
- _$jscoverage['appenders/gelf.js'][54] = 0;
- _$jscoverage['appenders/gelf.js'][56] = 0;
- _$jscoverage['appenders/gelf.js'][58] = 0;
- _$jscoverage['appenders/gelf.js'][59] = 0;
- _$jscoverage['appenders/gelf.js'][69] = 0;
- _$jscoverage['appenders/gelf.js'][72] = 0;
- _$jscoverage['appenders/gelf.js'][74] = 0;
- _$jscoverage['appenders/gelf.js'][75] = 0;
- _$jscoverage['appenders/gelf.js'][80] = 0;
- _$jscoverage['appenders/gelf.js'][81] = 0;
- _$jscoverage['appenders/gelf.js'][82] = 0;
- _$jscoverage['appenders/gelf.js'][84] = 0;
- _$jscoverage['appenders/gelf.js'][85] = 0;
- _$jscoverage['appenders/gelf.js'][87] = 0;
- _$jscoverage['appenders/gelf.js'][88] = 0;
- _$jscoverage['appenders/gelf.js'][93] = 0;
- _$jscoverage['appenders/gelf.js'][96] = 0;
- _$jscoverage['appenders/gelf.js'][97] = 0;
- _$jscoverage['appenders/gelf.js'][98] = 0;
- _$jscoverage['appenders/gelf.js'][99] = 0;
- _$jscoverage['appenders/gelf.js'][100] = 0;
- _$jscoverage['appenders/gelf.js'][102] = 0;
- _$jscoverage['appenders/gelf.js'][103] = 0;
- _$jscoverage['appenders/gelf.js'][104] = 0;
- _$jscoverage['appenders/gelf.js'][105] = 0;
- _$jscoverage['appenders/gelf.js'][106] = 0;
- _$jscoverage['appenders/gelf.js'][107] = 0;
- _$jscoverage['appenders/gelf.js'][110] = 0;
- _$jscoverage['appenders/gelf.js'][111] = 0;
- _$jscoverage['appenders/gelf.js'][112] = 0;
- _$jscoverage['appenders/gelf.js'][116] = 0;
- _$jscoverage['appenders/gelf.js'][117] = 0;
- _$jscoverage['appenders/gelf.js'][118] = 0;
- _$jscoverage['appenders/gelf.js'][119] = 0;
- _$jscoverage['appenders/gelf.js'][120] = 0;
- _$jscoverage['appenders/gelf.js'][122] = 0;
- _$jscoverage['appenders/gelf.js'][123] = 0;
- _$jscoverage['appenders/gelf.js'][125] = 0;
- _$jscoverage['appenders/gelf.js'][132] = 0;
- _$jscoverage['appenders/gelf.js'][133] = 0;
- _$jscoverage['appenders/gelf.js'][134] = 0;
- _$jscoverage['appenders/gelf.js'][135] = 0;
- _$jscoverage['appenders/gelf.js'][137] = 0;
- _$jscoverage['appenders/gelf.js'][140] = 0;
- _$jscoverage['appenders/gelf.js'][141] = 0;
- }
- _$jscoverage['appenders/gelf.js'][1]++;
- "use strict";
- _$jscoverage['appenders/gelf.js'][2]++;
- var zlib = require("zlib");
- _$jscoverage['appenders/gelf.js'][3]++;
- var layouts = require("../layouts");
- _$jscoverage['appenders/gelf.js'][4]++;
- var levels = require("../levels");
- _$jscoverage['appenders/gelf.js'][5]++;
- var dgram = require("dgram");
- _$jscoverage['appenders/gelf.js'][6]++;
- var util = require("util");
- _$jscoverage['appenders/gelf.js'][7]++;
- var debug = require("../debug")("GELF Appender");
- _$jscoverage['appenders/gelf.js'][9]++;
- var LOG_EMERG = 0;
- _$jscoverage['appenders/gelf.js'][10]++;
- var LOG_ALERT = 1;
- _$jscoverage['appenders/gelf.js'][11]++;
- var LOG_CRIT = 2;
- _$jscoverage['appenders/gelf.js'][12]++;
- var LOG_ERR = 3;
- _$jscoverage['appenders/gelf.js'][13]++;
- var LOG_ERROR = 3;
- _$jscoverage['appenders/gelf.js'][14]++;
- var LOG_WARNING = 4;
- _$jscoverage['appenders/gelf.js'][15]++;
- var LOG_NOTICE = 5;
- _$jscoverage['appenders/gelf.js'][16]++;
- var LOG_INFO = 6;
- _$jscoverage['appenders/gelf.js'][17]++;
- var LOG_DEBUG = 7;
- _$jscoverage['appenders/gelf.js'][19]++;
- var levelMapping = {};
- _$jscoverage['appenders/gelf.js'][20]++;
- levelMapping[levels.ALL] = LOG_DEBUG;
- _$jscoverage['appenders/gelf.js'][21]++;
- levelMapping[levels.TRACE] = LOG_DEBUG;
- _$jscoverage['appenders/gelf.js'][22]++;
- levelMapping[levels.DEBUG] = LOG_DEBUG;
- _$jscoverage['appenders/gelf.js'][23]++;
- levelMapping[levels.INFO] = LOG_INFO;
- _$jscoverage['appenders/gelf.js'][24]++;
- levelMapping[levels.WARN] = LOG_WARNING;
- _$jscoverage['appenders/gelf.js'][25]++;
- levelMapping[levels.ERROR] = LOG_ERR;
- _$jscoverage['appenders/gelf.js'][26]++;
- levelMapping[levels.FATAL] = LOG_CRIT;
- _$jscoverage['appenders/gelf.js'][37]++;
- function gelfAppender(layout, host, port, hostname, facility) {
- _$jscoverage['appenders/gelf.js'][38]++;
- var config, customFields;
- _$jscoverage['appenders/gelf.js'][39]++;
- if (typeof host === "object") {
- _$jscoverage['appenders/gelf.js'][40]++;
- config = host;
- _$jscoverage['appenders/gelf.js'][41]++;
- host = config.host;
- _$jscoverage['appenders/gelf.js'][42]++;
- port = config.port;
- _$jscoverage['appenders/gelf.js'][43]++;
- hostname = config.hostname;
- _$jscoverage['appenders/gelf.js'][44]++;
- facility = config.facility;
- _$jscoverage['appenders/gelf.js'][45]++;
- customFields = config.customFields;
- }
- _$jscoverage['appenders/gelf.js'][48]++;
- host = host || "localhost";
- _$jscoverage['appenders/gelf.js'][49]++;
- port = port || 12201;
- _$jscoverage['appenders/gelf.js'][50]++;
- hostname = hostname || require("os").hostname();
- _$jscoverage['appenders/gelf.js'][51]++;
- facility = facility || "nodejs-server";
- _$jscoverage['appenders/gelf.js'][52]++;
- layout = layout || layouts.messagePassThroughLayout;
- _$jscoverage['appenders/gelf.js'][54]++;
- var defaultCustomFields = customFields || {};
- _$jscoverage['appenders/gelf.js'][56]++;
- var client = dgram.createSocket("udp4");
- _$jscoverage['appenders/gelf.js'][58]++;
- process.on("exit", (function () {
- _$jscoverage['appenders/gelf.js'][59]++;
- if (client) {
- _$jscoverage['appenders/gelf.js'][59]++;
- client.close();
- }
- }));
- _$jscoverage['appenders/gelf.js'][69]++;
- function addCustomFields(loggingEvent, msg) {
- _$jscoverage['appenders/gelf.js'][72]++;
- Object.keys(defaultCustomFields).forEach((function (key) {
- _$jscoverage['appenders/gelf.js'][74]++;
- if (key.match(/^_/) && key !== "_id") {
- _$jscoverage['appenders/gelf.js'][75]++;
- msg[key] = defaultCustomFields[key];
- }
- }));
- _$jscoverage['appenders/gelf.js'][80]++;
- var data = loggingEvent.data;
- _$jscoverage['appenders/gelf.js'][81]++;
- if (! Array.isArray(data) || data.length === 0) {
- _$jscoverage['appenders/gelf.js'][81]++;
- return;
- }
- _$jscoverage['appenders/gelf.js'][82]++;
- var firstData = data[0];
- _$jscoverage['appenders/gelf.js'][84]++;
- if (! firstData.GELF) {
- _$jscoverage['appenders/gelf.js'][84]++;
- return;
- }
- _$jscoverage['appenders/gelf.js'][85]++;
- Object.keys(firstData).forEach((function (key) {
- _$jscoverage['appenders/gelf.js'][87]++;
- if (key.match(/^_/) || key !== "_id") {
- _$jscoverage['appenders/gelf.js'][88]++;
- msg[key] = firstData[key];
- }
- }));
- _$jscoverage['appenders/gelf.js'][93]++;
- loggingEvent.data.shift();
- }
- _$jscoverage['appenders/gelf.js'][96]++;
- function preparePacket(loggingEvent) {
- _$jscoverage['appenders/gelf.js'][97]++;
- var msg = {};
- _$jscoverage['appenders/gelf.js'][98]++;
- addCustomFields(loggingEvent, msg);
- _$jscoverage['appenders/gelf.js'][99]++;
- msg.full_message = layout(loggingEvent);
- _$jscoverage['appenders/gelf.js'][100]++;
- msg.short_message = msg.full_message;
- _$jscoverage['appenders/gelf.js'][102]++;
- msg.version = "1.0";
- _$jscoverage['appenders/gelf.js'][103]++;
- msg.timestamp = msg.timestamp || new Date().getTime() / 1000 >> 0;
- _$jscoverage['appenders/gelf.js'][104]++;
- msg.host = hostname;
- _$jscoverage['appenders/gelf.js'][105]++;
- msg.level = levelMapping[loggingEvent.level || levels.DEBUG];
- _$jscoverage['appenders/gelf.js'][106]++;
- msg.facility = facility;
- _$jscoverage['appenders/gelf.js'][107]++;
- return msg;
- }
- _$jscoverage['appenders/gelf.js'][110]++;
- function sendPacket(packet) {
- _$jscoverage['appenders/gelf.js'][111]++;
- try {
- _$jscoverage['appenders/gelf.js'][112]++;
- client.send(packet, 0, packet.length, port, host);
- }
- catch (e) {
- }
- }
- _$jscoverage['appenders/gelf.js'][116]++;
- return (function (loggingEvent) {
- _$jscoverage['appenders/gelf.js'][117]++;
- var message = preparePacket(loggingEvent);
- _$jscoverage['appenders/gelf.js'][118]++;
- zlib.gzip(new Buffer(JSON.stringify(message)), (function (err, packet) {
- _$jscoverage['appenders/gelf.js'][119]++;
- if (err) {
- _$jscoverage['appenders/gelf.js'][120]++;
- console.error(err.stack);
- }
- else {
- _$jscoverage['appenders/gelf.js'][122]++;
- if (packet.length > 8192) {
- _$jscoverage['appenders/gelf.js'][123]++;
- debug("Message packet length (" + packet.length + ") is larger than 8k. Not sending");
- }
- else {
- _$jscoverage['appenders/gelf.js'][125]++;
- sendPacket(packet);
- }
- }
- }));
- });
- }
- _$jscoverage['appenders/gelf.js'][132]++;
- function configure(config) {
- _$jscoverage['appenders/gelf.js'][133]++;
- var layout;
- _$jscoverage['appenders/gelf.js'][134]++;
- if (config.layout) {
- _$jscoverage['appenders/gelf.js'][135]++;
- layout = layouts.layout(config.layout.type, config.layout);
- }
- _$jscoverage['appenders/gelf.js'][137]++;
- return gelfAppender(layout, config);
- }
- _$jscoverage['appenders/gelf.js'][140]++;
- exports.appender = gelfAppender;
- _$jscoverage['appenders/gelf.js'][141]++;
- exports.configure = configure;
- _$jscoverage['appenders/gelf.js'].source = ["\"use strict\";","var zlib = require('zlib');","var layouts = require('../layouts');","var levels = require('../levels');","var dgram = require('dgram');","var util = require('util');","var debug = require('../debug')('GELF Appender');","","var LOG_EMERG=0; // system is unusable","var LOG_ALERT=1; // action must be taken immediately","var LOG_CRIT=2; // critical conditions","var LOG_ERR=3; // error conditions","var LOG_ERROR=3; // because people WILL typo","var LOG_WARNING=4; // warning conditions","var LOG_NOTICE=5; // normal, but significant, condition","var LOG_INFO=6; // informational message","var LOG_DEBUG=7; // debug-level message","","var levelMapping = {};","levelMapping[levels.ALL] = LOG_DEBUG;","levelMapping[levels.TRACE] = LOG_DEBUG;","levelMapping[levels.DEBUG] = LOG_DEBUG;","levelMapping[levels.INFO] = LOG_INFO;","levelMapping[levels.WARN] = LOG_WARNING;","levelMapping[levels.ERROR] = LOG_ERR;","levelMapping[levels.FATAL] = LOG_CRIT;","","/**"," * GELF appender that supports sending UDP packets to a GELF compatible server such as Graylog"," *"," * @param layout a function that takes a logevent and returns a string (defaults to none)."," * @param host - host to which to send logs (default:localhost)"," * @param port - port at which to send logs to (default:12201)"," * @param hostname - hostname of the current host (default:os hostname)"," * @param facility - facility to log to (default:nodejs-server)"," */","function gelfAppender (layout, host, port, hostname, facility) {"," var config, customFields;"," if (typeof(host) === 'object') {"," config = host;"," host = config.host;"," port = config.port;"," hostname = config.hostname;"," facility = config.facility;"," customFields = config.customFields;"," }"," "," host = host || 'localhost';"," port = port || 12201;"," hostname = hostname || require('os').hostname();"," facility = facility || 'nodejs-server';"," layout = layout || layouts.messagePassThroughLayout;",""," var defaultCustomFields = customFields || {};"," "," var client = dgram.createSocket(\"udp4\");"," "," process.on('exit', function() {"," if (client) client.close();"," });",""," /**"," * Add custom fields (start with underscore ) "," * - if the first object passed to the logger contains 'GELF' field, "," * copy the underscore fields to the message"," * @param loggingEvent"," * @param msg"," */"," function addCustomFields(loggingEvent, msg){",""," /* append defaultCustomFields firsts */"," Object.keys(defaultCustomFields).forEach(function(key) {"," // skip _id field for graylog2, skip keys not starts with UNDERSCORE"," if (key.match(/^_/) && key !== \"_id\") { "," msg[key] = defaultCustomFields[key];"," }"," });",""," /* append custom fields per message */"," var data = loggingEvent.data;"," if (!Array.isArray(data) || data.length === 0) return;"," var firstData = data[0];"," "," if (!firstData.GELF) return; // identify with GELF field defined"," Object.keys(firstData).forEach(function(key) {"," // skip _id field for graylog2, skip keys not starts with UNDERSCORE"," if (key.match(/^_/) || key !== \"_id\") { "," msg[key] = firstData[key];"," }"," });"," "," /* the custom field object should be removed, so it will not be looged by the later appenders */"," loggingEvent.data.shift(); "," }"," "," function preparePacket(loggingEvent) {"," var msg = {};"," addCustomFields(loggingEvent, msg);"," msg.full_message = layout(loggingEvent);"," msg.short_message = msg.full_message;"," "," msg.version=\"1.0\";"," msg.timestamp = msg.timestamp || new Date().getTime() / 1000 >> 0;"," msg.host = hostname;"," msg.level = levelMapping[loggingEvent.level || levels.DEBUG];"," msg.facility = facility;"," return msg;"," }"," "," function sendPacket(packet) {"," try {"," client.send(packet, 0, packet.length, port, host);"," } catch(e) {}"," }",""," return function(loggingEvent) {"," var message = preparePacket(loggingEvent);"," zlib.gzip(new Buffer(JSON.stringify(message)), function(err, packet) {"," if (err) {"," console.error(err.stack);"," } else {"," if (packet.length > 8192) {"," debug(\"Message packet length (\" + packet.length + \") is larger than 8k. Not sending\");"," } else {"," sendPacket(packet);"," }"," }"," });"," };","}","","function configure(config) {"," var layout;"," if (config.layout) {"," layout = layouts.layout(config.layout.type, config.layout);"," }"," return gelfAppender(layout, config);","}","","exports.appender = gelfAppender;","exports.configure = configure;"];
|