mirror of
https://github.com/log4js-node/log4js-node.git
synced 2025-12-08 19:26:01 +00:00
fix(test): moved newLevel and subcategories tests to tap
This commit is contained in:
parent
e45476f24d
commit
d685b18a97
125
test/tap/newLevel-test.js
Normal file
125
test/tap/newLevel-test.js
Normal file
@ -0,0 +1,125 @@
|
||||
'use strict';
|
||||
|
||||
const test = require('tap').test;
|
||||
const Level = require('../../lib/levels');
|
||||
const log4js = require('../../lib/log4js');
|
||||
const loggerModule = require('../../lib/logger');
|
||||
|
||||
const Logger = loggerModule.Logger;
|
||||
|
||||
test('../../lib/logger', (batch) => {
|
||||
batch.test('creating a new log level', (t) => {
|
||||
Level.forName('DIAG', 6000);
|
||||
const logger = new Logger();
|
||||
|
||||
t.test('should export new log level in levels module', (assert) => {
|
||||
assert.ok(Level.DIAG);
|
||||
assert.equal(Level.DIAG.levelStr, 'DIAG');
|
||||
assert.equal(Level.DIAG.level, 6000);
|
||||
assert.end();
|
||||
});
|
||||
|
||||
t.type(logger.diag, 'function', 'should create named function on logger prototype');
|
||||
t.type(logger.isDiagEnabled, 'function', 'should create isLevelEnabled function on logger prototype');
|
||||
t.end();
|
||||
});
|
||||
|
||||
batch.test('creating a new log level with underscores', (t) => {
|
||||
Level.forName('NEW_LEVEL_OTHER', 6000);
|
||||
const logger = new Logger();
|
||||
|
||||
t.test('should export new log level to levels module', (assert) => {
|
||||
assert.ok(Level.NEW_LEVEL_OTHER);
|
||||
assert.equal(Level.NEW_LEVEL_OTHER.levelStr, 'NEW_LEVEL_OTHER');
|
||||
assert.equal(Level.NEW_LEVEL_OTHER.level, 6000);
|
||||
assert.end();
|
||||
});
|
||||
|
||||
t.type(
|
||||
logger.newLevelOther, 'function',
|
||||
'should create named function on logger prototype in camel case'
|
||||
);
|
||||
t.type(
|
||||
logger.isNewLevelOtherEnabled, 'function',
|
||||
'should create named isLevelEnabled function on logger prototype in camel case'
|
||||
);
|
||||
t.end();
|
||||
});
|
||||
|
||||
batch.test('creating log events containing newly created log level', (t) => {
|
||||
const events = [];
|
||||
const logger = new Logger();
|
||||
logger.addListener('log', (logEvent) => {
|
||||
events.push(logEvent);
|
||||
});
|
||||
|
||||
logger.log(Level.forName('LVL1', 6000), 'Event 1');
|
||||
logger.log(Level.getLevel('LVL1'), 'Event 2');
|
||||
logger.log('LVL1', 'Event 3');
|
||||
logger.lvl1('Event 4');
|
||||
|
||||
logger.setLevel(Level.forName('LVL2', 7000));
|
||||
logger.lvl1('Event 5');
|
||||
|
||||
t.test('should show log events with new log level', (assert) => {
|
||||
assert.equal(events[0].level.toString(), 'LVL1');
|
||||
assert.equal(events[0].data[0], 'Event 1');
|
||||
|
||||
assert.equal(events[1].level.toString(), 'LVL1');
|
||||
assert.equal(events[1].data[0], 'Event 2');
|
||||
|
||||
assert.equal(events[2].level.toString(), 'LVL1');
|
||||
assert.equal(events[2].data[0], 'Event 3');
|
||||
|
||||
assert.equal(events[3].level.toString(), 'LVL1');
|
||||
assert.equal(events[3].data[0], 'Event 4');
|
||||
assert.end();
|
||||
});
|
||||
|
||||
t.equal(events.length, 4, 'should not be present if min log level is greater than newly created level');
|
||||
t.end();
|
||||
});
|
||||
|
||||
batch.test('creating a new log level with incorrect parameters', (t) => {
|
||||
log4js.levels.forName(9000, 'FAIL_LEVEL_1');
|
||||
log4js.levels.forName('FAIL_LEVEL_2');
|
||||
|
||||
t.test('should fail to create the level', (assert) => {
|
||||
assert.notOk(Level.FAIL_LEVEL_1);
|
||||
assert.notOk(Level.FAIL_LEVEL_2);
|
||||
assert.end();
|
||||
});
|
||||
t.end();
|
||||
});
|
||||
|
||||
batch.test('calling log with an undefined log level', (t) => {
|
||||
const events = [];
|
||||
const logger = new Logger();
|
||||
logger.addListener('log', (logEvent) => {
|
||||
events.push(logEvent);
|
||||
});
|
||||
|
||||
logger.log('LEVEL_DOES_NEXT_EXIST', 'Event 1');
|
||||
logger.log(Level.forName('LEVEL_DOES_NEXT_EXIST'), 'Event 2');
|
||||
|
||||
t.equal(events[0].level.toString(), 'INFO', 'should fall back to INFO');
|
||||
t.equal(events[1].level.toString(), 'INFO', 'should fall back to INFO');
|
||||
t.end();
|
||||
});
|
||||
|
||||
batch.test('creating a new level with an existing level name', (t) => {
|
||||
const events = [];
|
||||
const logger = new Logger();
|
||||
logger.addListener('log', (logEvent) => {
|
||||
events.push(logEvent);
|
||||
});
|
||||
|
||||
logger.log(log4js.levels.forName('MY_LEVEL', 9000), 'Event 1');
|
||||
logger.log(log4js.levels.forName('MY_LEVEL', 8000), 'Event 1');
|
||||
|
||||
t.equal(events[0].level.level, 9000, 'should override the existing log level');
|
||||
t.equal(events[1].level.level, 8000, 'should override the existing log level');
|
||||
t.end();
|
||||
});
|
||||
batch.end();
|
||||
});
|
||||
83
test/tap/subcategories-test.js
Normal file
83
test/tap/subcategories-test.js
Normal file
@ -0,0 +1,83 @@
|
||||
'use strict';
|
||||
|
||||
const test = require('tap').test;
|
||||
const log4js = require('../../lib/log4js');
|
||||
const levels = require('../../lib/levels');
|
||||
|
||||
test('subcategories', (batch) => {
|
||||
batch.test('loggers created after levels configuration is loaded', (t) => {
|
||||
log4js.configure({
|
||||
levels: {
|
||||
sub1: 'WARN',
|
||||
'sub1.sub11': 'TRACE',
|
||||
'sub1.sub11.sub111': 'WARN',
|
||||
'sub1.sub12': 'INFO'
|
||||
}
|
||||
});
|
||||
|
||||
const loggers = {
|
||||
sub1: log4js.getLogger('sub1'), // WARN
|
||||
sub11: log4js.getLogger('sub1.sub11'), // TRACE
|
||||
sub111: log4js.getLogger('sub1.sub11.sub111'), // WARN
|
||||
sub12: log4js.getLogger('sub1.sub12'), // INFO
|
||||
|
||||
sub13: log4js.getLogger('sub1.sub13'), // Inherits sub1: WARN
|
||||
sub112: log4js.getLogger('sub1.sub11.sub112'), // Inherits sub1.sub11: TRACE
|
||||
sub121: log4js.getLogger('sub1.sub12.sub121'), // Inherits sub12: INFO
|
||||
sub0: log4js.getLogger('sub0') // Not defined, not inherited: TRACE
|
||||
};
|
||||
|
||||
t.test('check logger levels', (assert) => {
|
||||
assert.equal(loggers.sub1.level, levels.WARN);
|
||||
assert.equal(loggers.sub11.level, levels.TRACE);
|
||||
assert.equal(loggers.sub111.level, levels.WARN);
|
||||
assert.equal(loggers.sub12.level, levels.INFO);
|
||||
|
||||
assert.equal(loggers.sub13.level, levels.WARN);
|
||||
assert.equal(loggers.sub112.level, levels.TRACE);
|
||||
assert.equal(loggers.sub121.level, levels.INFO);
|
||||
assert.equal(loggers.sub0.level, levels.TRACE);
|
||||
assert.end();
|
||||
});
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
||||
batch.test('loggers created before levels configuration is loaded', (t) => {
|
||||
const loggers = {
|
||||
sub1: log4js.getLogger('sub1'), // WARN
|
||||
sub11: log4js.getLogger('sub1.sub11'), // TRACE
|
||||
sub111: log4js.getLogger('sub1.sub11.sub111'), // WARN
|
||||
sub12: log4js.getLogger('sub1.sub12'), // INFO
|
||||
|
||||
sub13: log4js.getLogger('sub1.sub13'), // Inherits sub1: WARN
|
||||
sub112: log4js.getLogger('sub1.sub11.sub112'), // Inherits sub1.sub11: TRACE
|
||||
sub121: log4js.getLogger('sub1.sub12.sub121'), // Inherits sub12: INFO
|
||||
sub0: log4js.getLogger('sub0') // Not defined, not inherited: TRACE
|
||||
};
|
||||
|
||||
log4js.configure({
|
||||
levels: {
|
||||
sub1: 'WARN',
|
||||
'sub1.sub11': 'TRACE',
|
||||
'sub1.sub11.sub111': 'WARN',
|
||||
'sub1.sub12': 'INFO'
|
||||
}
|
||||
});
|
||||
|
||||
t.test('check logger levels', (assert) => {
|
||||
assert.equal(loggers.sub1.level, levels.WARN);
|
||||
assert.equal(loggers.sub11.level, levels.TRACE);
|
||||
assert.equal(loggers.sub111.level, levels.WARN);
|
||||
assert.equal(loggers.sub12.level, levels.INFO);
|
||||
|
||||
assert.equal(loggers.sub13.level, levels.WARN);
|
||||
assert.equal(loggers.sub112.level, levels.TRACE);
|
||||
assert.equal(loggers.sub121.level, levels.INFO);
|
||||
assert.equal(loggers.sub0.level, levels.TRACE);
|
||||
assert.end();
|
||||
});
|
||||
t.end();
|
||||
});
|
||||
batch.end();
|
||||
});
|
||||
@ -1,144 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const vows = require('vows');
|
||||
const assert = require('assert');
|
||||
const Level = require('../../lib/levels');
|
||||
const log4js = require('../../lib/log4js');
|
||||
const loggerModule = require('../../lib/logger');
|
||||
|
||||
const Logger = loggerModule.Logger;
|
||||
|
||||
vows.describe('../../lib/logger').addBatch({
|
||||
'creating a new log level': {
|
||||
topic: function () {
|
||||
Level.forName('DIAG', 6000);
|
||||
return new Logger();
|
||||
},
|
||||
|
||||
'should export new log level in levels module': function () {
|
||||
assert.isDefined(Level.DIAG);
|
||||
assert.equal(Level.DIAG.levelStr, 'DIAG');
|
||||
assert.equal(Level.DIAG.level, 6000);
|
||||
},
|
||||
|
||||
'should create named function on logger prototype': function (logger) {
|
||||
assert.isFunction(logger.diag);
|
||||
},
|
||||
|
||||
'should create isLevelEnabled function on logger prototype': function (logger) {
|
||||
assert.isFunction(logger.isDiagEnabled);
|
||||
},
|
||||
},
|
||||
|
||||
'creating a new log level with underscores': {
|
||||
topic: function () {
|
||||
Level.forName('NEW_LEVEL_OTHER', 6000);
|
||||
return new Logger();
|
||||
},
|
||||
|
||||
'should export new log level to levels module': function () {
|
||||
assert.isDefined(Level.NEW_LEVEL_OTHER);
|
||||
assert.equal(Level.NEW_LEVEL_OTHER.levelStr, 'NEW_LEVEL_OTHER');
|
||||
assert.equal(Level.NEW_LEVEL_OTHER.level, 6000);
|
||||
},
|
||||
|
||||
'should create named function on logger prototype in camel case': function (logger) {
|
||||
assert.isFunction(logger.newLevelOther);
|
||||
},
|
||||
|
||||
'should create named isLevelEnabled function on logger prototype in camel case': function (logger) {
|
||||
assert.isFunction(logger.isNewLevelOtherEnabled);
|
||||
}
|
||||
},
|
||||
|
||||
'creating log events containing newly created log level': {
|
||||
topic: function () {
|
||||
const events = [];
|
||||
const logger = new Logger();
|
||||
logger.addListener('log', (logEvent) => {
|
||||
events.push(logEvent);
|
||||
});
|
||||
|
||||
logger.log(Level.forName('LVL1', 6000), 'Event 1');
|
||||
logger.log(Level.getLevel('LVL1'), 'Event 2');
|
||||
logger.log('LVL1', 'Event 3');
|
||||
logger.lvl1('Event 4');
|
||||
|
||||
logger.setLevel(Level.forName('LVL2', 7000));
|
||||
logger.lvl1('Event 5');
|
||||
|
||||
return events;
|
||||
},
|
||||
|
||||
'should show log events with new log level': function (events) {
|
||||
assert.equal(events[0].level.toString(), 'LVL1');
|
||||
assert.equal(events[0].data[0], 'Event 1');
|
||||
|
||||
assert.equal(events[1].level.toString(), 'LVL1');
|
||||
assert.equal(events[1].data[0], 'Event 2');
|
||||
|
||||
assert.equal(events[2].level.toString(), 'LVL1');
|
||||
assert.equal(events[2].data[0], 'Event 3');
|
||||
|
||||
assert.equal(events[3].level.toString(), 'LVL1');
|
||||
assert.equal(events[3].data[0], 'Event 4');
|
||||
},
|
||||
|
||||
'should not be present if min log level is greater than newly created level': function (events) {
|
||||
assert.equal(events.length, 4);
|
||||
}
|
||||
},
|
||||
|
||||
'creating a new log level with incorrect parameters': {
|
||||
topic: function () {
|
||||
log4js.levels.forName(9000, 'FAIL_LEVEL_1');
|
||||
log4js.levels.forName('FAIL_LEVEL_2');
|
||||
return new Logger();
|
||||
},
|
||||
|
||||
'should fail to create the level': function () {
|
||||
assert.isUndefined(Level.FAIL_LEVEL_1);
|
||||
assert.isUndefined(Level.FAIL_LEVEL_2);
|
||||
}
|
||||
},
|
||||
|
||||
'calling log with an undefined log level': {
|
||||
topic: function () {
|
||||
const events = [];
|
||||
const logger = new Logger();
|
||||
logger.addListener('log', (logEvent) => {
|
||||
events.push(logEvent);
|
||||
});
|
||||
|
||||
logger.log('LEVEL_DOES_NEXT_EXIST', 'Event 1');
|
||||
logger.log(Level.forName('LEVEL_DOES_NEXT_EXIST'), 'Event 2');
|
||||
|
||||
return events;
|
||||
},
|
||||
|
||||
'should fallback to the default log level (INFO)': function (events) {
|
||||
assert.equal(events[0].level.toString(), 'INFO');
|
||||
assert.equal(events[1].level.toString(), 'INFO');
|
||||
}
|
||||
},
|
||||
|
||||
'creating a new level with an existing level name': {
|
||||
topic: function () {
|
||||
const events = [];
|
||||
const logger = new Logger();
|
||||
logger.addListener('log', (logEvent) => {
|
||||
events.push(logEvent);
|
||||
});
|
||||
|
||||
logger.log(log4js.levels.forName('MY_LEVEL', 9000), 'Event 1');
|
||||
logger.log(log4js.levels.forName('MY_LEVEL', 8000), 'Event 1');
|
||||
|
||||
return events;
|
||||
},
|
||||
|
||||
'should override the existing log level': function (events) {
|
||||
assert.equal(events[0].level.level, 9000);
|
||||
assert.equal(events[1].level.level, 8000);
|
||||
}
|
||||
}
|
||||
}).exportTo(module);
|
||||
@ -1,82 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const assert = require('assert');
|
||||
const vows = require('vows');
|
||||
const log4js = require('../../lib/log4js');
|
||||
const levels = require('../../lib/levels');
|
||||
|
||||
vows.describe('subcategories').addBatch({
|
||||
'loggers created after levels configuration is loaded': {
|
||||
topic: function () {
|
||||
log4js.configure({
|
||||
levels: {
|
||||
sub1: 'WARN',
|
||||
'sub1.sub11': 'TRACE',
|
||||
'sub1.sub11.sub111': 'WARN',
|
||||
'sub1.sub12': 'INFO'
|
||||
}
|
||||
}, { reloadSecs: 30 });
|
||||
|
||||
return {
|
||||
sub1: log4js.getLogger('sub1'), // WARN
|
||||
sub11: log4js.getLogger('sub1.sub11'), // TRACE
|
||||
sub111: log4js.getLogger('sub1.sub11.sub111'), // WARN
|
||||
sub12: log4js.getLogger('sub1.sub12'), // INFO
|
||||
|
||||
sub13: log4js.getLogger('sub1.sub13'), // Inherits sub1: WARN
|
||||
sub112: log4js.getLogger('sub1.sub11.sub112'), // Inherits sub1.sub11: TRACE
|
||||
sub121: log4js.getLogger('sub1.sub12.sub121'), // Inherits sub12: INFO
|
||||
sub0: log4js.getLogger('sub0') // Not defined, not inherited: TRACE
|
||||
};
|
||||
},
|
||||
'check logger levels': function (loggers) {
|
||||
assert.equal(loggers.sub1.level, levels.WARN);
|
||||
assert.equal(loggers.sub11.level, levels.TRACE);
|
||||
assert.equal(loggers.sub111.level, levels.WARN);
|
||||
assert.equal(loggers.sub12.level, levels.INFO);
|
||||
|
||||
assert.equal(loggers.sub13.level, levels.WARN);
|
||||
assert.equal(loggers.sub112.level, levels.TRACE);
|
||||
assert.equal(loggers.sub121.level, levels.INFO);
|
||||
assert.equal(loggers.sub0.level, levels.TRACE);
|
||||
}
|
||||
},
|
||||
'loggers created before levels configuration is loaded': {
|
||||
topic: function () {
|
||||
const loggers = {
|
||||
sub1: log4js.getLogger('sub1'), // WARN
|
||||
sub11: log4js.getLogger('sub1.sub11'), // TRACE
|
||||
sub111: log4js.getLogger('sub1.sub11.sub111'), // WARN
|
||||
sub12: log4js.getLogger('sub1.sub12'), // INFO
|
||||
|
||||
sub13: log4js.getLogger('sub1.sub13'), // Inherits sub1: WARN
|
||||
sub112: log4js.getLogger('sub1.sub11.sub112'), // Inherits sub1.sub11: TRACE
|
||||
sub121: log4js.getLogger('sub1.sub12.sub121'), // Inherits sub12: INFO
|
||||
sub0: log4js.getLogger('sub0') // Not defined, not inherited: TRACE
|
||||
};
|
||||
|
||||
|
||||
log4js.configure({
|
||||
levels: {
|
||||
sub1: 'WARN',
|
||||
'sub1.sub11': 'TRACE',
|
||||
'sub1.sub11.sub111': 'WARN',
|
||||
'sub1.sub12': 'INFO'
|
||||
}
|
||||
}, { reloadSecs: 30 });
|
||||
|
||||
return loggers;
|
||||
},
|
||||
'check logger levels': function (loggers) {
|
||||
assert.equal(loggers.sub1.level, levels.WARN);
|
||||
assert.equal(loggers.sub11.level, levels.TRACE);
|
||||
assert.equal(loggers.sub111.level, levels.WARN);
|
||||
assert.equal(loggers.sub12.level, levels.INFO);
|
||||
|
||||
assert.equal(loggers.sub13.level, levels.WARN);
|
||||
assert.equal(loggers.sub112.level, levels.TRACE);
|
||||
assert.equal(loggers.sub121.level, levels.INFO);
|
||||
assert.equal(loggers.sub0.level, levels.TRACE);
|
||||
}
|
||||
}
|
||||
}).exportTo(module);
|
||||
Loading…
x
Reference in New Issue
Block a user