From 8de8bcb67193bb0d304b52dad69f79e49461e2a1 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Thu, 22 Jun 2017 08:19:24 +1000 Subject: [PATCH] fix(tests): added test to cover setting level on subcategory --- test/tap/subcategories-test.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/tap/subcategories-test.js b/test/tap/subcategories-test.js index ca27a2e..2b5f070 100644 --- a/test/tap/subcategories-test.js +++ b/test/tap/subcategories-test.js @@ -90,5 +90,33 @@ test('subcategories', (batch) => { }); t.end(); }); + + batch.test('setting level on subcategories should not set parent level', (t) => { + log4js.configure({ + appenders: { stdout: { type: 'stdout' } }, + categories: { + default: { appenders: ['stdout'], level: 'trace' }, + parent: { appenders: ['stdout'], level: 'error' } + } + }); + + const logger = log4js.getLogger('parent'); + const subLogger = log4js.getLogger('parent.child'); + + t.test('should inherit parent level', (assert) => { + assert.same(subLogger.level, log4js.levels.ERROR); + assert.end(); + }); + + t.test('changing child level should not change parent level', (assert) => { + subLogger.level = 'info'; + assert.same(subLogger.level, log4js.levels.INFO); + assert.same(logger.level, log4js.levels.ERROR); + assert.end(); + }); + + t.end(); + }); + batch.end(); });