gemini-code-flow
Version:
AI-powered development orchestration for Gemini CLI - adapted from Claude Code Flow by ruvnet
52 lines • 1.8 kB
JavaScript
;
/**
* Logger utility for Gemini Code Flow
* Adapted from Claude Code Flow by ruvnet
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = exports.LogLevel = void 0;
const chalk_1 = __importDefault(require("chalk"));
var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
LogLevel[LogLevel["INFO"] = 1] = "INFO";
LogLevel[LogLevel["WARN"] = 2] = "WARN";
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
class Logger {
context;
level = LogLevel.INFO;
constructor(context) {
this.context = context;
// Set log level from environment
const envLevel = process.env.LOG_LEVEL?.toUpperCase();
if (envLevel && envLevel in LogLevel) {
this.level = LogLevel[envLevel];
}
}
debug(message, ...args) {
if (this.level <= LogLevel.DEBUG) {
console.log(chalk_1.default.gray(`[DEBUG] [${this.context}] ${message}`), ...args);
}
}
info(message, ...args) {
if (this.level <= LogLevel.INFO) {
console.log(chalk_1.default.blue(`[INFO] [${this.context}] ${message}`), ...args);
}
}
warn(message, ...args) {
if (this.level <= LogLevel.WARN) {
console.warn(chalk_1.default.yellow(`[WARN] [${this.context}] ${message}`), ...args);
}
}
error(message, ...args) {
if (this.level <= LogLevel.ERROR) {
console.error(chalk_1.default.red(`[ERROR] [${this.context}] ${message}`), ...args);
}
}
}
exports.Logger = Logger;
//# sourceMappingURL=logger.js.map