@nestjs/common
Version:
Nest - modern, fast, powerful node.js web framework (@common)
33 lines (32 loc) • 915 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isLogLevelEnabled = isLogLevelEnabled;
const LOG_LEVEL_VALUES = {
verbose: 0,
debug: 1,
log: 2,
warn: 3,
error: 4,
fatal: 5,
};
/**
* Checks if target level is enabled.
* @param targetLevel target level
* @param logLevels array of enabled log levels
*/
function isLogLevelEnabled(targetLevel, logLevels) {
if (!logLevels || (Array.isArray(logLevels) && logLevels?.length === 0)) {
return false;
}
if (logLevels.includes(targetLevel)) {
return true;
}
let highestLogLevelValue = -Infinity;
for (const level of logLevels) {
const v = LOG_LEVEL_VALUES[level];
if (v > highestLogLevelValue)
highestLogLevelValue = v;
}
const targetLevelValue = LOG_LEVEL_VALUES[targetLevel];
return targetLevelValue >= highestLogLevelValue;
}