@magic-mustard/sqlsync
Version:
SQLSync simplifies database schema evolution by allowing a declarative approach to table management
41 lines (40 loc) • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = void 0;
// src/utils/logger.ts
const chalk_1 = __importDefault(require("chalk"));
// Enhanced console logger implementation with colors
// Could be replaced with a more sophisticated library like Winston or Pino later.
const log = (level, message, ...args) => {
// Only display timestamp in debug mode to make normal logs cleaner
const timestamp = process.env.DEBUG ? `[${new Date().toISOString()}] ` : '';
const colorize = (text) => {
switch (level.toLowerCase()) {
case 'debug':
return chalk_1.default.gray(text);
case 'info':
return chalk_1.default.blue(text);
case 'warn':
return chalk_1.default.yellow(text);
case 'error':
return chalk_1.default.red(text);
case 'success':
return chalk_1.default.green(text);
default:
return text;
}
};
const levelDisplay = `[${level.toUpperCase()}]`;
// Format the log message with appropriate colors
console.log(`${timestamp}${colorize(levelDisplay)} ${message}`, ...args);
};
exports.logger = {
debug: (message, ...args) => log('debug', message, ...args),
info: (message, ...args) => log('info', message, ...args),
warn: (message, ...args) => log('warn', message, ...args),
error: (message, ...args) => log('error', message, ...args),
success: (message, ...args) => log('success', message, ...args), // Add success level with green color
};