@mcp abap adt/记录仪

MCP ABAP ADT包的记录器接口和实现。
安装
npm install @mcp-abap-adt/logger对于使用Pino的结构化日志记录(可选):
npm install pino pino-pretty用法
默认记录器(同步)
DefaultLogger 提供带有图标和级别前缀的同步日志记录,非常适合测试和CLI工具:
import { defaultLogger, DefaultLogger, LogLevel } from '@mcp-abap-adt/logger';
// Use default logger singleton
defaultLogger.info('Hello, world!');
defaultLogger.debug('Debug message');
defaultLogger.error('Error message');
defaultLogger.warn('Warning message');
// Create custom logger instance with specific log level
const logger = new DefaultLogger(LogLevel.DEBUG);
logger.info('Test info'); // Output: [INFO] ℹ️ Test info
logger.debug('Test debug'); // Output: [DEBUG] 🐛 Test debug引脚记录器(异步)
PinoLogger 使用Pino提供结构化日志记录,非常适合服务器应用程序:
import { PinoLogger, LogLevel } from '@mcp-abap-adt/logger';
// Create Pino logger (falls back to DefaultLogger if pino is not installed)
const logger = new PinoLogger(LogLevel.DEBUG);
logger.info('Server started'); // Output: ℹ️ Server started (with pino-pretty formatting)
logger.debug('Debug info');
logger.error('Error occurred');
logger.warn('Warning message');备注: PinoLogger 使用异步传输,因此日志可能会在Jest中的测试完成后出现。这是服务器使用的预期行为。
日志级别
日志级别在中定义 @mcp-abap-adt/interfaces 并由其控制 AUTH_LOG_LEVEL 环境变量:
import { LogLevel } from '@mcp-abap-adt/interfaces';
// LogLevel enum values:
// LogLevel.ERROR = 0
// LogLevel.WARN = 1
// LogLevel.INFO = 2
// LogLevel.DEBUG = 3环境变量值:
error-只有错误warn-错误和警告info-错误、警告和信息(默认)debug-所有消息
export AUTH_LOG_LEVEL=debug为了向后兼容性, DEBUG_AUTH_LOG=true 还设置了调试级别。
记录器接口
所有记录器实现都实现了 ILogger 接口来自 @mcp-abap-adt/interfaces:
import type { ILogger } from '@mcp-abap-adt/interfaces';
interface ILogger {
info(message: string, meta?: any): void;
debug(message: string, meta?: any): void;
error(message: string, meta?: any): void;
warn(message: string, meta?: any): void;
}
// Create custom logger
class MyCustomLogger implements ILogger {
info(message: string, meta?: any): void {
// Custom implementation
}
debug(message: string, meta?: any): void {
// Custom implementation
}
error(message: string, meta?: any): void {
// Custom implementation
}
warn(message: string, meta?: any): void {
// Custom implementation
}
}输出格式
默认记录器 输出格式:
[INFO] ℹ️ message[DEBUG] 🐛 message[ERROR] 💥 message[WARN] ⚠️ message
引脚记录器 输出格式(带pino-pretty):
- 生产环境中的结构化JSON
- 开发中的颜色和图标格式很好(NODE_ENV!=='生产')
许可证
麻省理工学院
