{"_id":"@babamba2/mcp-abap-adt-logger","name":"@babamba2/mcp-abap-adt-logger","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.4":{"name":"@babamba2/mcp-abap-adt-logger","version":"0.1.4","description":"Logger interface and implementations for MCP ABAP ADT packages (fork of @mcp-abap-adt/logger by fr0ster)","main":"dist/index.js","types":"dist/index.d.ts","keywords":["abap","sap","adt","logger","logging","mcp","abap-adt"],"author":{"name":"babamba2","email":"psspss1122@gmail.com"},"contributors":[{"name":"Oleksii Kyslytsia","email":"oleksij.kyslytsja@gmail.com","url":"original author"}],"license":"MIT","homepage":"https://github.com/babamba2/mcp-abap-adt-logger#readme","bugs":{"url":"https://github.com/babamba2/mcp-abap-adt-logger/issues"},"repository":{"type":"git","url":"git+https://github.com/babamba2/mcp-abap-adt-logger.git"},"publishConfig":{"access":"public"},"scripts":{"chrono":"./tools/version-stats.sh","clean":"rm -rf dist tsconfig.tsbuildinfo","build":"npm run clean --silent && npx biome check src --diagnostic-level=error && npx tsc -p tsconfig.json","build:fast":"npx tsc -p tsconfig.json","lint":"npx biome check --write src","lint:check":"npx biome check src","format":"npx biome format --write src","test":"NODE_OPTIONS=--experimental-vm-modules jest","test:check":"npx tsc --noEmit","prepublishOnly":"npm run build:fast"},"engines":{"node":">=18.0.0"},"dependencies":{"@babamba2/mcp-abap-adt-interfaces":"^3.1.0"},"peerDependencies":{"pino":"^10.1.0","pino-pretty":"^13.1.3"},"peerDependenciesMeta":{"pino":{"optional":true},"pino-pretty":{"optional":true}},"devDependencies":{"@biomejs/biome":"^2.3.10","@types/jest":"^30.0.0","@types/node":"^24.2.1","jest":"^30.2.0","pino":"^10.1.0","pino-pretty":"^13.1.3","ts-jest":"^29.2.5","typescript":"^5.9.2"},"gitHead":"3ceabbe4c526e4e6ac112a3e3958b9aedec325f2","_id":"@babamba2/mcp-abap-adt-logger@0.1.4","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-Mun3zPGvvlL5PxyLEhYTgfFv6Vd7Hr1hnbk4/h7Y2w8wxDjxzGEffjlJQ78nDaueuQoYChYEHFaYjfKjur5Ntw==","shasum":"c9a55366c247842654ebe9658dd6ab9cdb5eb215","tarball":"https://registry.npmjs.org/@babamba2/mcp-abap-adt-logger/-/mcp-abap-adt-logger-0.1.4.tgz","fileCount":12,"unpackedSize":22507,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDVnucWd9hsq9CFcZwSpOA9uxFqj1AdpPf6JFoM9+S3LAIhAMfpuvmIgWQsVvvsbqFKaE3c4YA7zr6B34X5eXql/zkt"}]},"_npmUser":{"name":"psspss1122","email":"psspss1122@gmail.com"},"directories":{},"maintainers":[{"name":"psspss1122","email":"psspss1122@gmail.com"},{"name":"s2hoon326","email":"s2hoon326@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-abap-adt-logger_0.1.4_1776490707286_0.659629370008364"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T05:38:27.194Z","0.1.4":"2026-04-18T05:38:27.420Z","modified":"2026-04-18T05:38:27.658Z"},"maintainers":[{"name":"psspss1122","email":"psspss1122@gmail.com"},{"name":"s2hoon326","email":"s2hoon326@gmail.com"}],"description":"Logger interface and implementations for MCP ABAP ADT packages (fork of @mcp-abap-adt/logger by fr0ster)","homepage":"https://github.com/babamba2/mcp-abap-adt-logger#readme","keywords":["abap","sap","adt","logger","logging","mcp","abap-adt"],"repository":{"type":"git","url":"git+https://github.com/babamba2/mcp-abap-adt-logger.git"},"contributors":[{"name":"Oleksii Kyslytsia","email":"oleksij.kyslytsja@gmail.com","url":"original author"}],"author":{"name":"babamba2","email":"psspss1122@gmail.com"},"bugs":{"url":"https://github.com/babamba2/mcp-abap-adt-logger/issues"},"license":"MIT","readme":"# @mcp-abap-adt/logger\r\n\r\nLogger interface and implementations for MCP ABAP ADT packages.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @mcp-abap-adt/logger\r\n```\r\n\r\nFor structured logging with Pino (optional):\r\n\r\n```bash\r\nnpm install pino pino-pretty\r\n```\r\n\r\n## Usage\r\n\r\n### DefaultLogger (Synchronous)\r\n\r\n`DefaultLogger` provides synchronous logging with icons and level prefixes, ideal for tests and CLI tools:\r\n\r\n```typescript\r\nimport { defaultLogger, DefaultLogger, LogLevel } from '@mcp-abap-adt/logger';\r\n\r\n// Use default logger singleton\r\ndefaultLogger.info('Hello, world!');\r\ndefaultLogger.debug('Debug message');\r\ndefaultLogger.error('Error message');\r\ndefaultLogger.warn('Warning message');\r\n\r\n// Create custom logger instance with specific log level\r\nconst logger = new DefaultLogger(LogLevel.DEBUG);\r\nlogger.info('Test info');  // Output: [INFO] ℹ️ Test info\r\nlogger.debug('Test debug'); // Output: [DEBUG] 🐛 Test debug\r\n```\r\n\r\n### PinoLogger (Asynchronous)\r\n\r\n`PinoLogger` provides structured logging using Pino, ideal for server applications:\r\n\r\n```typescript\r\nimport { PinoLogger, LogLevel } from '@mcp-abap-adt/logger';\r\n\r\n// Create Pino logger (falls back to DefaultLogger if pino is not installed)\r\nconst logger = new PinoLogger(LogLevel.DEBUG);\r\nlogger.info('Server started');  // Output: ℹ️ Server started (with pino-pretty formatting)\r\nlogger.debug('Debug info');\r\nlogger.error('Error occurred');\r\nlogger.warn('Warning message');\r\n```\r\n\r\n**Note**: `PinoLogger` uses async transport, so logs may appear after test completion in Jest. This is expected behavior for server use.\r\n\r\n### Log Levels\r\n\r\nLog levels are defined in `@mcp-abap-adt/interfaces` and controlled by `AUTH_LOG_LEVEL` environment variable:\r\n\r\n```typescript\r\nimport { LogLevel } from '@mcp-abap-adt/interfaces';\r\n\r\n// LogLevel enum values:\r\n// LogLevel.ERROR = 0\r\n// LogLevel.WARN = 1\r\n// LogLevel.INFO = 2\r\n// LogLevel.DEBUG = 3\r\n```\r\n\r\nEnvironment variable values:\r\n- `error` - only errors\r\n- `warn` - errors and warnings\r\n- `info` - errors, warnings, and info (default)\r\n- `debug` - all messages\r\n\r\n```bash\r\nexport AUTH_LOG_LEVEL=debug\r\n```\r\n\r\nFor backward compatibility, `DEBUG_AUTH_LOG=true` also sets level to debug.\r\n\r\n### Logger Interface\r\n\r\nAll logger implementations implement the `ILogger` interface from `@mcp-abap-adt/interfaces`:\r\n\r\n```typescript\r\nimport type { ILogger } from '@mcp-abap-adt/interfaces';\r\n\r\ninterface ILogger {\r\n  info(message: string, meta?: any): void;\r\n  debug(message: string, meta?: any): void;\r\n  error(message: string, meta?: any): void;\r\n  warn(message: string, meta?: any): void;\r\n}\r\n\r\n// Create custom logger\r\nclass MyCustomLogger implements ILogger {\r\n  info(message: string, meta?: any): void {\r\n    // Custom implementation\r\n  }\r\n  debug(message: string, meta?: any): void {\r\n    // Custom implementation\r\n  }\r\n  error(message: string, meta?: any): void {\r\n    // Custom implementation\r\n  }\r\n  warn(message: string, meta?: any): void {\r\n    // Custom implementation\r\n  }\r\n}\r\n```\r\n\r\n### Output Format\r\n\r\n**DefaultLogger** output format:\r\n- `[INFO] ℹ️ message`\r\n- `[DEBUG] 🐛 message`\r\n- `[ERROR] 💥 message`\r\n- `[WARN] ⚠️ message`\r\n\r\n**PinoLogger** output format (with pino-pretty):\r\n- Structured JSON in production\r\n- Pretty formatted with colors and icons in development (NODE_ENV !== 'production')\r\n\r\n## License\r\n\r\nMIT\r\n\r\n","readmeFilename":"README.md","_rev":"1-7ba8a64afea794f03e11ef313b1ddd50"}