智能照明系统APP-本地串口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
LightingSystemApp-serial/.svn/pristine/db/dbf85005b30f20906802065f1bc...

64 lines
1.4 KiB

'use strict';
/* global window: true */
/* eslint-disable
no-shadow,
no-param-reassign,
space-before-function-paren
*/
const LogLevel = require('./LogLevel');
const MethodFactory = require('./MethodFactory');
const PrefixFactory = require('./PrefixFactory');
const defaultLogger = new LogLevel({ name: 'default' });
const cache = { default: defaultLogger };
// Grab the current global log variable in case of overwrite
const existing = (typeof window !== 'undefined') ? window.log : null;
const loglevel = Object.assign(defaultLogger, {
get factories() {
return {
MethodFactory,
PrefixFactory
};
},
get loggers() {
return cache;
},
getLogger(options) {
if (typeof options === 'string') {
options = { name: options };
}
if (!options.id) {
options.id = options.name;
}
const { name, id } = options;
const defaults = { level: defaultLogger.level };
if (typeof name !== 'string' || !name || !name.length) {
throw new TypeError('You must supply a name when creating a logger');
}
let logger = cache[id];
if (!logger) {
logger = new LogLevel(Object.assign({}, defaults, options));
cache[id] = logger;
}
return logger;
},
noConflict() {
if (typeof window !== 'undefined' && window.log === defaultLogger) {
window.log = existing;
}
return defaultLogger;
}
});
module.exports = loglevel;