opendoor-mcp
Version:
Production-grade MCP server with multi-language code execution, VS Code integration, and browser automation
52 lines • 1.71 kB
JavaScript
import winston from 'winston';
export class Logger {
static instance;
logger;
constructor() {
this.logger = winston.createLogger({
level: process.env.LOG_LEVEL || 'info',
format: winston.format.combine(winston.format.timestamp(), winston.format.errors({ stack: true }), winston.format.json()),
defaultMeta: { service: 'mcp-server' },
transports: [
new winston.transports.File({
filename: '/app/logs/error.log',
level: 'error',
maxsize: 50 * 1024 * 1024, // 50MB
maxFiles: 5
}),
new winston.transports.File({
filename: '/app/logs/combined.log',
maxsize: 50 * 1024 * 1024, // 50MB
maxFiles: 5
})
]
});
if (process.env.NODE_ENV !== 'production') {
this.logger.add(new winston.transports.Console({
format: winston.format.combine(winston.format.colorize(), winston.format.simple())
}));
}
}
static getInstance() {
if (!Logger.instance) {
Logger.instance = new Logger();
}
return Logger.instance;
}
info(message, meta) {
this.logger.info(message, meta);
}
error(message, error) {
this.logger.error(message, { error });
}
warn(message, meta) {
this.logger.warn(message, meta);
}
debug(message, meta) {
this.logger.debug(message, meta);
}
verbose(message, meta) {
this.logger.verbose(message, meta);
}
}
//# sourceMappingURL=Logger.js.map