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);