43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
//constructor
|
|
function logfmt() {
|
|
}
|
|
module.exports = logfmt;
|
|
|
|
var _ = require('lodash');
|
|
var streaming = require('./lib/streaming');
|
|
var bodyParser = require('./lib/body_parser');
|
|
var bodyParserStream = require('./lib/body_parser_stream');
|
|
var logfmtParser = require('./lib/logfmt_parser');
|
|
var logger = require('./lib/logger');
|
|
var requestLogger = require('./lib/request_logger');
|
|
var serializer = require('./lib/stringify');
|
|
|
|
//Build up logfmt prototype
|
|
_.extend(logfmt.prototype, logger);
|
|
_.extend(logfmt.prototype, streaming);
|
|
|
|
logfmt.prototype.stringify = serializer.stringify;
|
|
logfmt.prototype.parse = logfmtParser.parse;
|
|
|
|
// Synchronous body parser
|
|
logfmt.prototype.bodyParser = function(options) {
|
|
options || (options = {});
|
|
var mime = options.contentType || "application/logplex-1";
|
|
return bodyParser({ contentType: mime, parser: this.parse });
|
|
};
|
|
|
|
// Stream parser
|
|
logfmt.prototype.bodyParserStream = function(options) {
|
|
options || (options = {});
|
|
var mime = options.contentType || "application/logplex-1";
|
|
return bodyParserStream({ contentType: mime });
|
|
};
|
|
|
|
logfmt.prototype.requestLogger = function(options, formatter) {
|
|
return requestLogger.init(this, options, formatter);
|
|
};
|
|
|
|
logfmt.prototype.requestLogger.commonFormatter = requestLogger.commonFormatter;
|
|
|
|
_.extend(logfmt, logfmt.prototype);
|