sap-b1-mcp-server
Version:
SAP Business One Service Layer MCP Server
88 lines (87 loc) • 2.22 kB
TypeScript
export declare enum LogLevel {
ERROR = 0,
WARN = 1,
INFO = 2,
DEBUG = 3
}
export interface LogEntry {
timestamp: string;
level: LogLevel;
message: string;
context?: Record<string, any>;
error?: Error;
}
export declare class Logger {
private level;
private context;
constructor(level?: LogLevel, context?: Record<string, any>);
/**
* Create a child logger with additional context
*/
child(context: Record<string, any>): Logger;
/**
* Log an error message
*/
error(message: string, error?: Error, context?: Record<string, any>): void;
/**
* Log a warning message
*/
warn(message: string, context?: Record<string, any>): void;
/**
* Log an info message
*/
info(message: string, context?: Record<string, any>): void;
/**
* Log a debug message
*/
debug(message: string, context?: Record<string, any>): void;
/**
* Log SAP API request
*/
logSAPRequest(method: string, endpoint: string, params?: any): void;
/**
* Log SAP API response
*/
logSAPResponse(method: string, endpoint: string, status: number, responseTime?: number): void;
/**
* Log SAP API error
*/
logSAPError(method: string, endpoint: string, error: Error, responseTime?: number): void;
/**
* Log MCP tool execution
*/
logToolExecution(toolName: string, args: any, success: boolean, duration?: number): void;
/**
* Log session events
*/
logSessionEvent(event: 'login' | 'logout' | 'renewal' | 'expired', sessionId?: string): void;
/**
* Set log level
*/
setLevel(level: LogLevel): void;
/**
* Get current log level
*/
getLevel(): LogLevel;
/**
* Internal log method
*/
private log;
/**
* Create logger from environment
*/
static fromEnvironment(): Logger;
/**
* Format error for logging
*/
static formatError(error: unknown): {
message: string;
stack?: string;
code?: string;
};
/**
* Sanitize sensitive data for logging
*/
static sanitize(data: any): any;
}
export declare const logger: Logger;