Source: reporter/logger.js

import { Reporter } from './reporter.js';
import { InformationSource } from './information_source.js';

/**
 * Logger base class, force implementation of all syslog levels
 */

class Logger extends InformationSource {

    /**
     * @param {SyslogLevel} fromLevel
     * @param {Reporter} reporter
     */

    constructor(fromLevel, reporter) {

        super(reporter);

        /** @type {SyslogLevel} */

        this.fromLevel = fromLevel;
        

        /** @type {SyslogLevelNum} */

        this.fromLevelNum = Reporter.syslogLevelsIndexed[ fromLevel ];;

        /** @protected */
    
        this._reporter = reporter;
    }

    

    /**
     * @protected
     * @param {LogObject} log
     */

    log({ msg, level, source }) {
        // anything that should happen here? (on super level)
    }
}

export { Logger }