Something went wrong on our end
Select Git revision
oroperator.js
-
Volker Schukai authoredVolker Schukai authored
handler.mjs 3.04 KiB
/**
* @author schukai GmbH
*/
import {Base} from '../types/base.mjs';
import {validateInstance, validateInteger} from "../types/validate.mjs";
import {LogEntry} from "./logentry.mjs";
import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.mjs";
export {Handler}
/**
* The log handler is the interface between the log entries and the log listeners.
*
* ```
* <script type="module">
* import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/logging/handler.mjs';
* console.log(new Handler())
* </script>
* ```
*
* @since 1.5.0
* @copyright schukai GmbH
* @memberOf Monster.Logging
*/
class Handler extends Base {
constructor() {
super();
/**
* Loglevel
*
* @type {integer}
*/
this.loglevel = OFF;
}
/**
* This is the central log function. this method must be
* overwritten by derived handlers with their own logic.
*
* ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;
*
* @param {LogEntry} entry
* @returns {boolean}
*/
log(entry) {
validateInstance(entry, LogEntry);
if (this.loglevel < entry.getLogLevel()) {
return false;
}
return true;
}
/**
* set loglevel
*
* @param {integer} loglevel
* @returns {Handler}
* @since 1.5.0
*/
setLogLevel(loglevel) {
validateInteger(loglevel)
this.loglevel = loglevel;
return this;
}