/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import {LoggerConfig} from './logger-config.js';
const loggerEnabled = LoggerConfig.isLoggerEnabled();
import {Logger} from './logger.js';

export class LoggerBase {
	private readonly logger: Logger|null;

	constructor(loggerVar:Logger|null) {
		this.logger = loggerVar;
	}

	public logError(key: string, ...params: string[]) {
		if (loggerEnabled && this.logger) {
			this.logger.logError(key, ...params);
		}
	}

	public logInfo(key: string, ...params: string[]) {
		if (loggerEnabled && this.logger) {
			this.logger.logInfo(key, ...params);
		}
	}

	public logWarn(key: string, ...params: string[]) {
		if (loggerEnabled && this.logger) {
			this.logger.logWarn(key, ...params);
		}
	}

	public logDebug(key: string, ...params: string[]) {
		if (loggerEnabled && this.logger) {
			this.logger.logDebug(key, ...params);
		}
	}
}
