SAP-BTP-Spielwiese/app1/node_modules/@sap/logging/lib/logging-tools/Base.js

48 lines
1 KiB
JavaScript
Raw Normal View History

'use strict';
const _ = require('lodash');
class Base {
constructor(logContext, component, allLevels, defaultLevel) {
this._logContext = logContext;
this._appContext = logContext._appContext;
this._formatters = logContext._appContext._formatters;
this._env = logContext._appContext._env;
this._component = component;
this._allLevels = allLevels;
this._defaultLevel = defaultLevel;
}
getLevel() {
if (this._env.topPrioLevel) {
return this._env.topPrioLevel;
}
const levels = this._appContext._levels;
return levels.get(this._component) || this._defaultLevel;
}
isEnabled(level) {
if (this._env.loggingOff) {
return false;
}
if (!_.isString(level)) {
return false;
}
level = level.toLowerCase();
const iLevel = this._allLevels[level];
if (!_.isNumber(iLevel)) {
return false;
}
const currentLevel = this.getLevel();
const iCurrentLevel = this._allLevels[currentLevel];
return (iCurrentLevel <= iLevel);
}
}
module.exports = Base;