musicbrainz-userscripts/lib/logger.js
Aurélien Mino 14a32dab62 Applied prettier and eslint tools on existing code
None of these changes are manual changes made a human
2018-11-20 23:18:49 +01:00

52 lines
1.5 KiB
JavaScript

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Logger
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var LOGGER = (function() {
let LOG_LEVEL = 'info';
function fnDebug() {
if (LOG_LEVEL == 'debug') {
_log('DEBUG', arguments);
}
}
function fnInfo() {
if (LOG_LEVEL == 'debug' || LOG_LEVEL === 'info') {
_log('INFO', arguments);
}
}
function fnError() {
_log('ERROR', arguments);
}
function fnSetLevel(level) {
LOG_LEVEL = level;
}
// --------------------------------------- privates ----------------------------------------- //
function _log(level, args) {
// Prepends log level to things that will be logged
args = Array.prototype.slice.call(args);
args.unshift(`[${level}]`);
// Determine if there's a logger (console.log) available
let win = unsafeWindow || window;
let console = win.console;
if (console && console.log && console.log.apply) {
try {
console.log.apply(this, args);
} catch (e) {}
}
}
// ---------------------------------- expose publics here ------------------------------------ //
return {
debug: fnDebug,
info: fnInfo,
error: fnError,
setLevel: fnSetLevel
};
})();