mirror of
https://github.com/log4js-node/log4js-node.git
synced 2025-12-08 19:26:01 +00:00
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
// This test shows an asymmetry between setLevel and isLevelEnabled
|
|
// (in log4js-node@0.4.3 and earlier):
|
|
// 1) setLevel("foo") works, but setLevel(log4js.levels.foo) silently
|
|
// does not (sets the level to TRACE).
|
|
// 2) isLevelEnabled("foo") works as does isLevelEnabled(log4js.levels.foo).
|
|
//
|
|
|
|
const { test } = require('tap');
|
|
const log4js = require('../../lib/log4js');
|
|
|
|
const logger = log4js.getLogger('test-setLevel-asymmetry');
|
|
|
|
// Define the array of levels as string to iterate over.
|
|
const strLevels = ['Trace', 'Debug', 'Info', 'Warn', 'Error', 'Fatal'];
|
|
const log4jsLevels = strLevels.map(log4js.levels.getLevel);
|
|
|
|
test('log4js setLevel', (batch) => {
|
|
strLevels.forEach((strLevel) => {
|
|
batch.test(`is called with a ${strLevel} as string`, (t) => {
|
|
const log4jsLevel = log4js.levels.getLevel(strLevel);
|
|
|
|
t.test('should convert string to level correctly', (assert) => {
|
|
logger.level = strLevel;
|
|
log4jsLevels.forEach((level) => {
|
|
assert.equal(
|
|
logger.isLevelEnabled(level),
|
|
log4jsLevel.isLessThanOrEqualTo(level)
|
|
);
|
|
});
|
|
assert.end();
|
|
});
|
|
|
|
t.test('should also accept a Level', (assert) => {
|
|
logger.level = log4jsLevel;
|
|
log4jsLevels.forEach((level) => {
|
|
assert.equal(
|
|
logger.isLevelEnabled(level),
|
|
log4jsLevel.isLessThanOrEqualTo(level)
|
|
);
|
|
});
|
|
assert.end();
|
|
});
|
|
|
|
t.end();
|
|
});
|
|
});
|
|
batch.end();
|
|
});
|