storybook-mcp-server
Version:
MCP server for Storybook - provides AI assistants access to components, stories, properties and screenshots
35 lines • 1.64 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = void 0;
const winston_1 = __importDefault(require("winston"));
const path_1 = __importDefault(require("path"));
const logLevel = process.env.LOG_LEVEL || 'info';
const isMCPMode = !process.env.NODE_ENV || process.env.NODE_ENV === 'production' || process.env.MCP_MODE === 'true';
exports.logger = winston_1.default.createLogger({
level: logLevel,
format: winston_1.default.format.combine(winston_1.default.format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss',
}), winston_1.default.format.errors({ stack: true }), winston_1.default.format.splat(), winston_1.default.format.json()),
defaultMeta: { service: 'storybook-mcp-server' },
transports: [
new winston_1.default.transports.File({
filename: path_1.default.join(process.cwd(), 'logs', 'error.log'),
level: 'error',
silent: false,
}),
new winston_1.default.transports.File({
filename: path_1.default.join(process.cwd(), 'logs', 'combined.log'),
silent: false,
}),
],
});
// Only add console output for development/testing, never for MCP mode
if (!isMCPMode && process.env.NODE_ENV === 'development') {
exports.logger.add(new winston_1.default.transports.Console({
format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple()),
}));
}
//# sourceMappingURL=logger.js.map