mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-04-25 15:10:30 -04:00
50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
/* Magic Mirror
|
|
* Log
|
|
*
|
|
* This logger is very simple, but needs to be extended.
|
|
* This system can eventually be used to push the log messages to an external target.
|
|
*
|
|
* By Michael Teeuw https://michaelteeuw.nl
|
|
* MIT Licensed.
|
|
*/
|
|
(function (root, factory) {
|
|
if (typeof exports === "object") {
|
|
// add timestamps in front of log messages
|
|
require("console-stamp")(console, {
|
|
pattern: "yyyy-mm-dd HH:MM:ss.l",
|
|
include: ["debug", "log", "info", "warn", "error"]
|
|
});
|
|
|
|
// Node, CommonJS-like
|
|
module.exports = factory(root.config);
|
|
} else {
|
|
// Browser globals (root is window)
|
|
root.Log = factory(root.config);
|
|
}
|
|
})(this, function (config) {
|
|
const logLevel = {
|
|
debug: Function.prototype.bind.call(console.debug, console),
|
|
log: Function.prototype.bind.call(console.log, console),
|
|
info: Function.prototype.bind.call(console.info, console),
|
|
warn: Function.prototype.bind.call(console.warn, console),
|
|
error: Function.prototype.bind.call(console.error, console),
|
|
group: Function.prototype.bind.call(console.group, console),
|
|
groupCollapsed: Function.prototype.bind.call(console.groupCollapsed, console),
|
|
groupEnd: Function.prototype.bind.call(console.groupEnd, console),
|
|
time: Function.prototype.bind.call(console.time, console),
|
|
timeEnd: Function.prototype.bind.call(console.timeEnd, console),
|
|
timeStamp: Function.prototype.bind.call(console.timeStamp, console)
|
|
};
|
|
|
|
logLevel.setLogLevel = function (newLevel) {
|
|
if (newLevel) {
|
|
Object.keys(logLevel).forEach(function (key, index) {
|
|
if (!newLevel.includes(key.toLocaleUpperCase())) {
|
|
logLevel[key] = function () {};
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
return logLevel;
|
|
});
|