"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const winston_1 = __importDefault(require("winston"));
const config_1 = __importDefault(require("../config"));
// Check if running as MCP server (stdio mode)
const isMcpMode = process.argv[0].includes('node') && process.argv[1]?.includes('index.js');
const transports = [
new winston_1.default.transports.File({ filename: 'error.log', level: 'error' }),
new winston_1.default.transports.File({ filename: 'combined.log' })
];
// Only add console transport if not in MCP mode
if (!isMcpMode) {
transports.push(new winston_1.default.transports.Console({
format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple())
}));
}
const logger = winston_1.default.createLogger({
level: config_1.default.logging.level,
format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.json()),
defaultMeta: { service: 'sf-mcp-tools' },
transports
});
exports.default = logger;