libzotero
Version:
javascript libZotero
80 lines (68 loc) • 1.51 kB
JavaScript
;
var log = {};
var prefLevel = 1;
var debugOut;
var warnOut;
var errorOut;
if (typeof console == 'undefined') {
debugOut = function debugOut() {};
warnOut = function warnOut() {};
errorOut = function errorOut() {};
} else {
debugOut = function debugOut(s) {
console.log(s);
};
warnOut = function warnOut(s) {
console.warn(s);
};
errorOut = function errorOut(s) {
console.error(s);
};
}
log.SetLevel = function (level) {
prefLevel = level;
};
log.debug = function (debugstring, level) {
if (typeof level !== 'number') {
level = 1;
}
if (level <= prefLevel) {
debugOut(debugstring);
}
};
log.debugObject = function (obj, level) {
if (typeof level !== 'number') {
level = 1;
}
if (level <= prefLevel) {
debugOut(obj);
}
};
log.warn = function (warnstring) {
warnOut(warnstring);
};
log.error = function (errorstring) {
errorOut(errorstring);
};
log.Logger = function (prefix) {
var llevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
prefLevel = llevel;
return {
debug: function debug(debugstring, level) {
if (typeof debugstring == 'string') {
return log.debug(prefix + ': ' + debugstring, level);
} else {
log.debug(prefix + ': \\', level);
log.debug(debugstring, level);
return;
}
},
warn: function warn(warnstring) {
return log.warn(prefix + ': ' + warnstring);
},
error: function error(errorstring) {
return log.error(prefix + ': ' + errorstring);
}
};
};
module.exports = log;