39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
|
var logfmt = require('../logfmt'),
|
||
|
assert = require('assert');
|
||
|
|
||
|
var OutStream = require('./outstream');
|
||
|
|
||
|
suite('logfmt.namespace.time', function() {
|
||
|
|
||
|
test("works with explicit logging location", function(){
|
||
|
var logfmt2 = logfmt.namespace({ns: 'logfmt'})
|
||
|
var logger = logfmt2.time();
|
||
|
var mock_sink = new OutStream;
|
||
|
logger.log({}, mock_sink);
|
||
|
var actual = mock_sink.logline;
|
||
|
assert(/^ns=logfmt elapsed=\dms\n$/.test(actual), actual)
|
||
|
})
|
||
|
|
||
|
test("works with logfmt.time and implicit log location", function(){
|
||
|
var logfmt2 = logfmt.namespace({ns: 'logfmt'})
|
||
|
logfmt2.stream = new OutStream;
|
||
|
var timer = logfmt2.time('time');
|
||
|
timer.log({foo: 'bar'});
|
||
|
var actual = logfmt2.stream.logline;
|
||
|
assert(/^ns=logfmt foo=bar time=\dms\n$/.test(actual), actual)
|
||
|
})
|
||
|
|
||
|
test("works with persistent data", function(){
|
||
|
var logfmt2 = logfmt.namespace({ns: 'logfmt'})
|
||
|
logfmt2.stream = new OutStream;
|
||
|
var logger = logfmt2.time().namespace({foo: 'bar'});
|
||
|
logger.log();
|
||
|
var actual = logfmt2.stream.logline;
|
||
|
assert(/^ns=logfmt foo=bar elapsed=\dms\n$/.test(actual), actual)
|
||
|
logger.log({moar: 'data'});
|
||
|
var actual = logfmt2.stream.logline;
|
||
|
assert(/^ns=logfmt foo=bar moar=data elapsed=\dms\n$/.test(actual),
|
||
|
actual)
|
||
|
})
|
||
|
})
|