diff --git a/lib/categories.js b/lib/categories.js index e2e98ee..7923028 100644 --- a/lib/categories.js +++ b/lib/categories.js @@ -24,36 +24,32 @@ function inheritFromParent(config, category, categoryName) { if (!parentCategory) { - // parent is missing, may need to implicitly create it, so that it can inherit from its parents - if (parentCategoryName.lastIndexOf('.') >= 0) { // don't create a missing root category, it can inherit nothing - parentCategory = { inherit: true, appenders: [] }; - } + // parent is missing, so implicitly create it, so that it can inherit from its parents + parentCategory = { inherit: true, appenders: [] }; } - if (parentCategory) { - // make sure parent has had its inheritance taken care of before pulling its properties to this child - inheritFromParent(config, parentCategory, parentCategoryName); + // make sure parent has had its inheritance taken care of before pulling its properties to this child + inheritFromParent(config, parentCategory, parentCategoryName); - // if the parent is not in the config (because we just created it above), - // and it inherited a valid configuration, add it to config.categories - if (!config.categories[parentCategoryName] - && parentCategory.appenders - && parentCategory.appenders.length - && parentCategory.level) { - config.categories[parentCategoryName] = parentCategory; - } - - category.appenders = category.appenders || []; - category.level = category.level || parentCategory.level; - - // merge in appenders from parent (parent is already holding its inherited appenders) - parentCategory.appenders.forEach((ap) => { - if (!category.appenders.includes(ap)) { - category.appenders.push(ap); - } - }); - category.parent = parentCategory; + // if the parent is not in the config (because we just created it above), + // and it inherited a valid configuration, add it to config.categories + if (!config.categories[parentCategoryName] + && parentCategory.appenders + && parentCategory.appenders.length + && parentCategory.level) { + config.categories[parentCategoryName] = parentCategory; } + + category.appenders = category.appenders || []; + category.level = category.level || parentCategory.level; + + // merge in appenders from parent (parent is already holding its inherited appenders) + parentCategory.appenders.forEach((ap) => { + if (!category.appenders.includes(ap)) { + category.appenders.push(ap); + } + }); + category.parent = parentCategory; }