UNPKG

reactbits-mcp-server

Version:

MCP Server for React Bits - Access 99+ React components with animations, backgrounds, and UI elements

77 lines (76 loc) 2.4 kB
import winston from 'winston'; // Configure log level from environment variable const logLevel = process.env.LOG_LEVEL || 'info'; // Create winston logger instance const logger = winston.createLogger({ level: logLevel, format: winston.format.combine(winston.format.timestamp(), winston.format.errors({ stack: true }), winston.format.json()), defaultMeta: { service: 'react-bits-mcp-server' }, transports: [ // Write all logs to console new winston.transports.Console({ format: winston.format.combine(winston.format.colorize(), winston.format.simple()) }), // Write all logs with level `error` and below to `error.log` new winston.transports.File({ filename: 'mcp-server-error.log', level: 'error', format: winston.format.combine(winston.format.timestamp(), winston.format.json()) }), // Write all logs with level `info` and below to `combined.log` new winston.transports.File({ filename: 'mcp-server.log', format: winston.format.combine(winston.format.timestamp(), winston.format.json()) }) ] }); // If we're not in production then log to the `console` if (process.env.NODE_ENV !== 'production') { logger.add(new winston.transports.Console({ format: winston.format.simple() })); } /** * Log an info message * @param message - The message to log * @param meta - Additional metadata */ export function logInfo(message, meta) { logger.info(message, meta); } /** * Log a warning message * @param message - The message to log * @param meta - Additional metadata */ export function logWarning(message, meta) { logger.warn(message, meta); } /** * Log an error message * @param message - The message to log * @param error - The error object or additional metadata */ export function logError(message, error) { if (error instanceof Error) { logger.error(message, { error: { message: error.message, stack: error.stack, name: error.name } }); } else { logger.error(message, { error }); } } /** * Log a debug message * @param message - The message to log * @param meta - Additional metadata */ export function logDebug(message, meta) { logger.debug(message, meta); } export default logger;