log4js-node/lib/levels.js

58 lines
1.5 KiB
JavaScript

function Level(level, levelStr, colour) {
this.level = level;
this.levelStr = levelStr;
this.colour = colour;
}
/**
* converts given String to corresponding Level
* @param {String} sArg String value of Level
* @param {Log4js.Level} defaultLevel default Level, if no String representation
* @return Level object
* @type Log4js.Level
*/
function toLevel(sArg, defaultLevel) {
if (sArg === null) {
return defaultLevel;
}
if (typeof sArg == "string") {
var s = sArg.toUpperCase();
if (module.exports[s]) {
return module.exports[s];
}
}
return defaultLevel;
};
Level.prototype.toString = function() {
return this.levelStr;
};
Level.prototype.isLessThanOrEqualTo = function(otherLevel) {
if (typeof otherLevel === "string") {
otherLevel = Level.toLevel(otherLevel);
}
return this.level <= otherLevel.level;
};
Level.prototype.isGreaterThanOrEqualTo = function(otherLevel) {
if (typeof otherLevel === "string") {
otherLevel = Level.toLevel(otherLevel);
}
return this.level >= otherLevel.level;
};
module.exports = {
ALL: new Level(Number.MIN_VALUE, "ALL", "grey")
, TRACE: new Level(5000, "TRACE", "blue")
, DEBUG: new Level(10000, "DEBUG", "cyan")
, INFO: new Level(20000, "INFO", "green")
, WARN: new Level(30000, "WARN", "yellow")
, ERROR: new Level(40000, "ERROR", "red")
, FATAL: new Level(50000, "FATAL", "magenta")
, OFF: new Level(Number.MAX_VALUE, "OFF", "grey")
, toLevel: toLevel
};