Comparing version 0.13.1 to 0.14.0
logfmt = require('../logfmt'); | ||
exports.log = function(data, stream) { | ||
if(stream == undefined) stream = logfmt.stream; | ||
if(stream == undefined) stream = this.stream; | ||
@@ -30,3 +30,2 @@ var line = ''; | ||
exports.time = function(arg1, arg2, arg3) { | ||
@@ -54,2 +53,3 @@ var startTime = (new Date()).getTime(); | ||
var logger = {}; | ||
var self = this; | ||
logger.log = function(data, stream){ | ||
@@ -62,3 +62,4 @@ var now = (new Date()).getTime() | ||
data[label] = (now - startTime).toString() + 'ms' ; | ||
exports.log(data, stream); | ||
var stream = stream || self.stream | ||
self.log(data, stream); | ||
} | ||
@@ -68,1 +69,18 @@ | ||
} | ||
exports.namespace = function(object){ | ||
var new_logfmt = new logfmt; | ||
var old_log = this.log; | ||
new_logfmt.log = function(data, stream){ | ||
data = data || {}; | ||
logdata = {}; | ||
for (key in object) { | ||
logdata[key] = object[key]; | ||
} | ||
for (key in data) { | ||
logdata[key] = data[key]; | ||
} | ||
old_log(logdata, stream); | ||
} | ||
return new_logfmt; | ||
} |
@@ -1,26 +0,32 @@ | ||
var parse = require('./lib/logfmt_parser').parse; | ||
var logfmt = function(){ | ||
var parse = require('./lib/logfmt_parser').parse; | ||
exports.parse = parse; | ||
exports.stream = process.stdout; | ||
this.parse = parse; | ||
this.stream = process.stdout; | ||
var logger = require('./lib/logger'); | ||
exports.log = logger.log; | ||
exports.time = logger.time; | ||
var logger = require('./lib/logger'); | ||
this.log = logger.log; | ||
this.time = logger.time; | ||
this.namespace = logger.namespace; | ||
exports.requestLogger = require('./lib/request_logger'); | ||
this.requestLogger = require('./lib/request_logger'); | ||
//Syncronous Body Parser | ||
var bodyParser = require('./lib/body_parser') | ||
exports.bodyParser = function(options) { | ||
if(options == null) options = {}; | ||
var mime = options.contentType || "application/logplex-1" | ||
return bodyParser({contentType: mime, parser: parse}) | ||
//Syncronous Body Parser | ||
var bodyParser = require('./lib/body_parser') | ||
this.bodyParser = function(options) { | ||
if(options == null) options = {}; | ||
var mime = options.contentType || "application/logplex-1" | ||
return bodyParser({contentType: mime, parser: parse}) | ||
} | ||
//Stream Body Parser | ||
var bodyParserStream = require('./lib/body_parser_stream'); | ||
this.bodyParserStream = function(options) { | ||
if(options == null) options = {}; | ||
var mime = options.contentType || "application/logplex-1" | ||
return bodyParserStream({contentType: mime, parser: parse}) | ||
} | ||
} | ||
//Stream Body Parser | ||
var bodyParserStream = require('./lib/body_parser_stream'); | ||
exports.bodyParserStream = function(options) { | ||
if(options == null) options = {}; | ||
var mime = options.contentType || "application/logplex-1" | ||
return bodyParserStream({contentType: mime, parser: parse}) | ||
} | ||
exports = module.exports = logfmt; | ||
logfmt.call(exports) |
{ | ||
"name": "logfmt", | ||
"version": "0.13.1", | ||
"version": "0.14.0", | ||
"description": "Key-Value log line parser", | ||
@@ -5,0 +5,0 @@ "main": "logfmt.js", |
@@ -49,2 +49,33 @@ # node-logfmt | ||
You can have multiple, isolated logfmts by using `new`. | ||
```javascript | ||
var logfmt = require('logfmt'); | ||
var errorLogger = new logfmt; | ||
errorLogger.stream = process.stderr | ||
logfmt.log({hello: 'stdout'}); | ||
//=> hello=stdout | ||
errorLogger.log({hello: 'stderr'}); | ||
//=> hello=stderr | ||
``` | ||
### `logfmt.namespace(object)` | ||
Returns a new `logfmt` with object's data included in every `log` call. | ||
```javascript | ||
var logfmt = require('logfmt').namespace({app: 'logfmt'}); | ||
logfmt.log({ "foo": "bar", "a": 14, baz: 'hello kitty'}) | ||
//=> app=logfmt foo=bar a=14 baz="hello kitty" | ||
logfmt.log({}) | ||
//=> app=logfmt | ||
logfmt.log({hello: 'world'}) | ||
//=> app=logfmt hello=world | ||
``` | ||
### `logfmt.time([label], [data], callback(logger))` | ||
@@ -110,2 +141,13 @@ | ||
`time` works with `namespace` as expected | ||
```javascript | ||
var logfmt = require('logfmt').namespace({app: 'logfmt'}) | ||
logfmt.time({foo: 'bar'}, function(logger){ | ||
logger.log({at: 'function'}); | ||
}) | ||
//=> app=logfmt at=function foo=bar elapsed=1ms | ||
``` | ||
### customizing logging location | ||
@@ -112,0 +154,0 @@ |
@@ -1,2 +0,2 @@ | ||
var logfmt = require('../logfmt'), | ||
var logfmt = new require('../logfmt'), | ||
assert = require('assert'); | ||
@@ -3,0 +3,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
49841
41
1152
353
1