UNPKG

smyld-lib-common

Version:

SMYLD Javascript Core Library, contains several core APIs that benefit the developers working on SPA applications

43 lines 1.65 kB
import { LogRuleImpl, RuleCondition } from "./config/LogRule"; export class LogConfiguration { _rules = []; addRule(condition, value, level) { this._rules.push(new LogRuleImpl(condition, value, level)); } get rules() { return this._rules; } detectLogLevel(logger) { for (const curRule of [...this._rules].reverse()) { switch (curRule.condition) { case RuleCondition.startsWith: if (typeof curRule.value === 'string' && logger.source.startsWith(curRule.value)) { return curRule.level; } break; case RuleCondition.contains: if (typeof curRule.value === 'string' && logger.source.includes(curRule.value)) { return curRule.level; } break; case RuleCondition.regex: if ((curRule.value instanceof RegExp) && curRule.value.test(logger.source)) { return curRule.level; } else if (typeof curRule.value === 'string') { // Convert string to RegExp if needed const regex = new RegExp(curRule.value); if (regex.test(logger.source)) { return curRule.level; } } break; } } return logger.logLevel; } clearConfigurations() { this._rules = []; } } //# sourceMappingURL=LogConfiguration.js.map