import winston from 'winston';
import config from '../config';
// Check if running as MCP server (stdio mode)
const isMcpMode = process.argv[0].includes('node') && process.argv[1]?.includes('index.js');
const transports: winston.transport[] = [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
];
// Only add console transport if not in MCP mode
if (!isMcpMode) {
transports.push(new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize(),
winston.format.simple()
)
}));
}
const logger = winston.createLogger({
level: config.logging.level,
format: winston.format.combine(
winston.format.timestamp(),
winston.format.json()
),
defaultMeta: { service: 'sf-mcp-tools' },
transports
});
export default logger;