From bbbf339ff017e5545ddb1c6ad2bb8d3bf8634828 Mon Sep 17 00:00:00 2001 From: 3went2 Date: Tue, 24 Oct 2017 16:52:39 +0800 Subject: [PATCH] use Map instead of Object in loggers --- src/index.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/index.js b/src/index.js index 2af1aa5..42160c6 100644 --- a/src/index.js +++ b/src/index.js @@ -43,7 +43,7 @@ const logSystem = (function () { let enable = config.enable; let appenders = {}; let categories = {}; - const loggers = {}; + const loggers = new Map(); const getCategories = () => { const appenderKeys = Object.keys(appenders); @@ -196,10 +196,10 @@ const logSystem = (function () { shouldReload = false; }, hasLogger(category) { - return !!loggers[category]; + return loggers.has(category); }, getLogger(category = defaultCategory) { - if (loggers[category]) { return loggers[category]; } + if (loggers.has(category)) { return loggers.get(category); } let origin = null; let cache = {}; @@ -223,7 +223,7 @@ const logSystem = (function () { return (cache[name] = enable ? origin[name].bind(origin) : noop); }; - return (loggers[category] = { + const logger = { [SymbolEnsureLatest]: ensureLatest, get trace() { return reflect('trace'); }, get debug() { return reflect('debug'); }, @@ -231,7 +231,9 @@ const logSystem = (function () { get warn() { return reflect('warn'); }, get error() { return reflect('error'); }, get fatal() { return reflect('fatal'); }, - }); + }; + loggers.set(category, logger); + return logger; }, }; }());