Skip to main content
Glama
logger.ts1.77 kB
import { LoggingWinston } from '@google-cloud/logging-winston'; import winston from 'winston'; import { formatMemoryUsage, getMemoryUsage } from './memory.js'; // Configure transports based on environment function createLogger() { const isProduction = process.env.NODE_ENV === 'production'; const transports: winston.transport[] = isProduction ? [new LoggingWinston()] : [ new winston.transports.Console({ format: winston.format.combine(winston.format.timestamp(), winston.format.json()), }), ]; return winston.createLogger({ level: isProduction ? 'info' : 'debug', transports, }); } // Create and export the logger instance export const logger = createLogger(); // Utility logging functions export function logDebug(message: string, context?: Record<string, unknown>): void { logger.debug({ message, ...context, }); } export function logInfo(message: string, context?: Record<string, unknown>): void { logger.info({ message, ...context, }); } export function logWarning(message: string, context?: Record<string, unknown>): void { logger.warn({ message, ...context, }); } export function logError(message: string, error?: Error, context?: Record<string, unknown>): void { logger.error({ message, error: error ? { message: error.message, stack: error.stack, } : undefined, ...context, }); } /** * Log current memory usage with optional context */ export function logMemoryUsage(message: string, context?: Record<string, unknown>): void { const memoryUsage = getMemoryUsage(); logger.info({ message: `${message} - Memory: ${formatMemoryUsage(memoryUsage)}`, memory: memoryUsage, ...context, }); }

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/yamadashy/repomix'

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