function Logger(name, defaultLevel, factory) {
var self = this;
var currentLevel;
+
var storageKey = "loglevel";
- if (name) {
+ if (typeof name === "string") {
storageKey += ":" + name;
+ } else if (typeof name === "symbol") {
+ storageKey = undefined;
}
function persistLevelIfPossible(levelNum) {
var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
- if (typeof window === undefinedType) return;
+ if (typeof window === undefinedType || !storageKey) return;
// Use localStorage if available
try {
function getPersistedLevel() {
var storedLevel;
- if (typeof window === undefinedType) return;
+ if (typeof window === undefinedType || !storageKey) return;
try {
storedLevel = window.localStorage[storageKey];
var _loggersByName = {};
defaultLogger.getLogger = function getLogger(name) {
- if (typeof name !== "string" || name === "") {
+ if ((typeof name !== "symbol" && typeof name !== "string") || name === "") {
throw new TypeError("You must supply a name when creating a logger.");
}
return _loggersByName;
};
+ // ES6 default export, for compatibility
+ defaultLogger['default'] = defaultLogger;
+
return defaultLogger;
}));