Skip to main content
Glama
logger.js1.57 kB
import winston from 'winston'; import chalk from 'chalk'; const { combine, timestamp, printf, colorize } = winston.format; // Custom format for console output const consoleFormat = printf(({ level, message, timestamp, ...meta }) => { let msg = `${timestamp} [${level}]: ${message}`; if (Object.keys(meta).length > 0) { msg += ` ${JSON.stringify(meta)}`; } return msg; }); // Create logger instance export const logger = winston.createLogger({ level: process.env.LOG_LEVEL || 'info', format: combine( timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.errors({ stack: true }), winston.format.json() ), transports: [ // Console transport new winston.transports.Console({ format: combine( colorize(), timestamp({ format: 'HH:mm:ss' }), consoleFormat ) }), // File transport for errors new winston.transports.File({ filename: 'error.log', level: 'error', format: combine( timestamp(), winston.format.json() ) }), // File transport for all logs new winston.transports.File({ filename: 'combined.log', format: combine( timestamp(), winston.format.json() ) }) ] }); // Add console methods for colored output export const console = { log: (msg) => console.log(chalk.white(msg)), info: (msg) => console.log(chalk.cyan(msg)), success: (msg) => console.log(chalk.green(msg)), warning: (msg) => console.log(chalk.yellow(msg)), error: (msg) => console.log(chalk.red(msg)) };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/enessari/metabase-ai-assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server