775ac7b58c
you must login with an BTP account in order to see the app
47 lines
1 KiB
JavaScript
47 lines
1 KiB
JavaScript
'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;
|