"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = exports.LogLevel = void 0;
var LogLevel;
(function (LogLevel) {
    LogLevel[LogLevel["Silent"] = 0] = "Silent";
    LogLevel[LogLevel["Error"] = 1] = "Error";
    LogLevel[LogLevel["Warn"] = 2] = "Warn";
    LogLevel[LogLevel["Info"] = 3] = "Info";
    LogLevel[LogLevel["Debug"] = 4] = "Debug";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
class Logger {
    level;
    constructor(level = LogLevel.Info) {
        this.level = level;
    }
    error(message, ...args) {
        if (this.level >= LogLevel.Error) {
            console.error(`[simplesteps] ERROR: ${message}`, ...args);
        }
    }
    warn(message, ...args) {
        if (this.level >= LogLevel.Warn) {
            console.warn(`[simplesteps] WARN: ${message}`, ...args);
        }
    }
    info(message, ...args) {
        if (this.level >= LogLevel.Info) {
            console.log(`[simplesteps] ${message}`, ...args);
        }
    }
    debug(message, ...args) {
        if (this.level >= LogLevel.Debug) {
            console.log(`[simplesteps] DEBUG: ${message}`, ...args);
        }
    }
    setLevel(level) {
        this.level = level;
    }
}
exports.Logger = Logger;
//# sourceMappingURL=logger.js.map