github.com/cloudcredo/cloudrocker@v0.0.0-20160108110610-1320f8cc2dfd/sample-apps/node/node_modules/logfmt/logfmt.js (about) 1 //constructor 2 function logfmt() { 3 } 4 module.exports = logfmt; 5 6 var _ = require('lodash'); 7 var streaming = require('./lib/streaming'); 8 var bodyParser = require('./lib/body_parser'); 9 var bodyParserStream = require('./lib/body_parser_stream'); 10 var logfmtParser = require('./lib/logfmt_parser'); 11 var logger = require('./lib/logger'); 12 var requestLogger = require('./lib/request_logger'); 13 var serializer = require('./lib/stringify'); 14 15 //Build up logfmt prototype 16 _.extend(logfmt.prototype, logger); 17 _.extend(logfmt.prototype, streaming); 18 19 logfmt.prototype.stringify = serializer.stringify; 20 logfmt.prototype.parse = logfmtParser.parse; 21 22 // Synchronous body parser 23 logfmt.prototype.bodyParser = function(options) { 24 options || (options = {}); 25 var mime = options.contentType || "application/logplex-1"; 26 return bodyParser({ contentType: mime, parser: this.parse }); 27 }; 28 29 // Stream parser 30 logfmt.prototype.bodyParserStream = function(options) { 31 options || (options = {}); 32 var mime = options.contentType || "application/logplex-1"; 33 return bodyParserStream({ contentType: mime }); 34 }; 35 36 logfmt.prototype.requestLogger = function(options, formatter) { 37 return requestLogger.init(this, options, formatter); 38 }; 39 40 logfmt.prototype.requestLogger.commonFormatter = requestLogger.commonFormatter; 41 42 _.extend(logfmt, logfmt.prototype);