UNPKG

kubricate

Version:

A TypeScript framework for building reusable, type-safe Kubernetes infrastructure — without the YAML mess.

37 lines 1.03 kB
import c from 'ansis'; import { MARK_ERROR, MARK_INFO, MARK_WARNING } from './constant.js'; export class ConsoleLogger { level; constructor(level = 'debug') { this.level = level; } shouldLog(target) { if (this.level === 'silent') return false; // silent disables all except manual error() const levels = ['error', 'warn', 'info', 'debug']; return levels.indexOf(target) <= levels.indexOf(this.level); } log(message) { if (this.shouldLog('info')) console.log(message); } info(message) { if (this.shouldLog('info')) console.info(`${MARK_INFO} ${message}`); } warn(message) { if (this.shouldLog('warn')) console.warn(c.yellow(`${MARK_WARNING} ${message}`)); } error(message) { console.error(c.red(`${MARK_ERROR} ${message}`)); } debug(message) { if (this.shouldLog('debug')) console.debug(c.dim(`[debug] ${message}`)); } } export class SilentLogger { level = 'silent'; log() {} info() {} warn() {} error() {} debug() {} } //# sourceMappingURL=logger.js.map