@inso_web/els-mcp
Version:
MCP-сервер поверх INSO Error Logs Service. Read-only tools (search, analytics, fingerprinting, correlations) для подключения Claude Desktop/Code и ChatGPT к логам ошибок. Streamable HTTP transport + stdio для npx-запуска.
45 lines • 1.69 kB
TypeScript
import { type Logger } from 'pino';
/**
* Structured logger (pino, JSON output).
*
* Принципы:
* - stdout зарезервирован под JSON-RPC (stdio transport) → все pino-логи
* идут в stderr.
* - Format: JSON по умолчанию. Pretty-print в dev (`NODE_ENV=development`,
* если установлен pino-pretty).
* - Redaction: secrets автоматически замещаются на `<REDACTED>` (см. § 2.4
* спеки `07-observability.md`).
* - Base fields: service, version, pod (HOSTNAME).
*
* Per-request child logger создаётся в HTTP middleware через
* `logger.child({ requestId, sessionId, appSlug, tool })`.
*/
export interface LoggerConfig {
level?: string;
service?: string;
/** Используется в `base.version`. */
version?: string;
/** Используется в `base.pod` (для k8s identification). */
pod?: string;
/** Pretty-print для dev. */
pretty?: boolean;
}
export declare function createLogger(cfg?: LoggerConfig): Logger;
/** Singleton accessor. */
export declare function getLogger(): Logger;
export declare function setLogger(logger: Logger): void;
/**
* Per-request child logger. Поля:
* - requestId, sessionId, appSlug, keyPrefix, tool — для корреляции.
*/
export interface RequestLogFields {
requestId?: string;
sessionId?: string;
appSlug?: string | null;
keyPrefix?: string;
tool?: string;
cached?: boolean;
latencyMs?: number;
}
export declare function withRequestContext(logger: Logger, fields: RequestLogFields): Logger;
//# sourceMappingURL=logger.d.ts.map