msteams-mcp-server
Version:
Microsoft Teams MCP Server - Complete Teams integration for Claude Desktop and MCP clients with secure OAuth2 authentication and comprehensive team management
56 lines (55 loc) • 1.85 kB
JavaScript
import fs from 'fs';
import path from 'path';
import os from 'os';
const logFile = path.join(os.tmpdir(), 'msteams-mcp-server.log');
// Initialize log file
fs.writeFileSync(logFile, `[INFO] ${new Date().toISOString()} - Starting Microsoft Teams MCP Server...\n`);
export const logger = {
log: (message) => {
const timestamp = new Date().toISOString();
const logEntry = `[INFO] ${timestamp} - ${message}\n`;
try {
fs.appendFileSync(logFile, logEntry);
}
catch (error) {
// Fallback to console if file write fails
console.error('Failed to write to log file:', error);
console.log(logEntry);
}
},
error: (message, error) => {
const timestamp = new Date().toISOString();
let logEntry = `[ERROR] ${timestamp} - ${message}\n`;
if (error) {
if (error.stack) {
logEntry += `${error.stack}\n`;
}
else if (error.message) {
logEntry += `Error: ${error.message}\n`;
}
else {
logEntry += `Error: ${JSON.stringify(error)}\n`;
}
}
try {
fs.appendFileSync(logFile, logEntry);
}
catch (writeError) {
// Fallback to console if file write fails
console.error('Failed to write to log file:', writeError);
console.error(logEntry);
}
},
warn: (message) => {
const timestamp = new Date().toISOString();
const logEntry = `[WARN] ${timestamp} - ${message}\n`;
try {
fs.appendFileSync(logFile, logEntry);
}
catch (error) {
console.error('Failed to write to log file:', error);
console.warn(logEntry);
}
},
getLogFile: () => logFile
};