2a5e1fc715
Fixes #325.
184 lines
4.3 KiB
JavaScript
184 lines
4.3 KiB
JavaScript
/*
|
|
* Copyright (c) 2015 Trent Mick. All rights reserved.
|
|
*
|
|
* Test that streams (the various way they can be added to
|
|
* a Logger instance) get the appropriate level.
|
|
*/
|
|
|
|
var util = require('util'),
|
|
format = util.format,
|
|
inspect = util.inspect;
|
|
var p = console.log;
|
|
|
|
var bunyan = require('../lib/bunyan');
|
|
|
|
// node-tap API
|
|
if (require.cache[__dirname + '/tap4nodeunit.js'])
|
|
delete require.cache[__dirname + '/tap4nodeunit.js'];
|
|
var tap4nodeunit = require('./tap4nodeunit.js');
|
|
var test = tap4nodeunit.test;
|
|
|
|
|
|
// ---- Tests
|
|
|
|
var log1 = bunyan.createLogger({
|
|
name: 'log1',
|
|
streams: [
|
|
{
|
|
path: __dirname + '/level.test.log1.log',
|
|
level: 'info'
|
|
}
|
|
]
|
|
});
|
|
|
|
|
|
test('default stream log level', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo'
|
|
});
|
|
t.equal(log.level(), bunyan.INFO);
|
|
t.equal(log.streams[0].level, bunyan.INFO);
|
|
t.end();
|
|
});
|
|
|
|
test('default stream, level=DEBUG specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
level: bunyan.DEBUG
|
|
});
|
|
t.equal(log.level(), bunyan.DEBUG);
|
|
t.equal(log.streams[0].level, bunyan.DEBUG);
|
|
t.end();
|
|
});
|
|
|
|
test('default stream, level="trace" specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
level: 'trace'
|
|
});
|
|
t.equal(log.level(), bunyan.TRACE);
|
|
t.equal(log.streams[0].level, bunyan.TRACE);
|
|
t.end();
|
|
});
|
|
|
|
test('stream & level="trace" specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
stream: process.stderr,
|
|
level: 'trace'
|
|
});
|
|
t.equal(log.level(), bunyan.TRACE);
|
|
t.equal(log.streams[0].level, bunyan.TRACE);
|
|
t.end();
|
|
});
|
|
|
|
test('one stream, default level', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
streams: [
|
|
{
|
|
stream: process.stderr
|
|
}
|
|
]
|
|
});
|
|
t.equal(log.level(), bunyan.INFO);
|
|
t.equal(log.streams[0].level, bunyan.INFO);
|
|
t.end();
|
|
});
|
|
|
|
test('one stream, top-"level" specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
level: 'error',
|
|
streams: [
|
|
{
|
|
stream: process.stderr
|
|
}
|
|
]
|
|
});
|
|
t.equal(log.level(), bunyan.ERROR);
|
|
t.equal(log.streams[0].level, bunyan.ERROR);
|
|
t.end();
|
|
});
|
|
|
|
test('one stream, stream-"level" specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
streams: [
|
|
{
|
|
stream: process.stderr,
|
|
level: 'error'
|
|
}
|
|
]
|
|
});
|
|
t.equal(log.level(), bunyan.ERROR);
|
|
t.equal(log.streams[0].level, bunyan.ERROR);
|
|
t.end();
|
|
});
|
|
|
|
test('one stream, both-"level" specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
level: 'debug',
|
|
streams: [
|
|
{
|
|
stream: process.stderr,
|
|
level: 'error'
|
|
}
|
|
]
|
|
});
|
|
t.equal(log.level(), bunyan.ERROR);
|
|
t.equal(log.streams[0].level, bunyan.ERROR);
|
|
t.end();
|
|
});
|
|
|
|
test('two streams, both-"level" specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
level: 'debug',
|
|
streams: [
|
|
{
|
|
stream: process.stdout,
|
|
level: 'trace'
|
|
},
|
|
{
|
|
stream: process.stderr,
|
|
level: 'fatal'
|
|
}
|
|
]
|
|
});
|
|
t.equal(log.level(), bunyan.TRACE, 'log.level()');
|
|
t.equal(log.streams[0].level, bunyan.TRACE);
|
|
t.equal(log.streams[1].level, bunyan.FATAL);
|
|
t.end();
|
|
});
|
|
|
|
test('two streams, one with "level" specified', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
streams: [
|
|
{
|
|
stream: process.stdout,
|
|
},
|
|
{
|
|
stream: process.stderr,
|
|
level: 'fatal'
|
|
}
|
|
]
|
|
});
|
|
t.equal(log.level(), bunyan.INFO);
|
|
t.equal(log.streams[0].level, bunyan.INFO);
|
|
t.equal(log.streams[1].level, bunyan.FATAL);
|
|
t.end();
|
|
});
|
|
|
|
// Issue #335
|
|
test('log level 0 to turn on all logging', function (t) {
|
|
var log = bunyan.createLogger({
|
|
name: 'foo',
|
|
level: 0
|
|
});
|
|
t.equal(log.level(), 0);
|
|
t.equal(log.streams[0].level, 0);
|
|
t.end();
|
|
});
|