export interface SapB1Logger { debug(message: string, meta?: Record): void; info(message: string, meta?: Record): void; warn(message: string, meta?: Record): void; error(message: string, meta?: Record): void; } export const noopLogger: SapB1Logger = { debug: () => undefined, info: () => undefined, warn: () => undefined, error: () => undefined }; export function sanitizeLogMeta(meta: Record): Record { const forbidden = new Set(["password", "b1session", "routeid", "cookie", "authorization"]); return Object.fromEntries( Object.entries(meta).map(([key, value]) => { if (forbidden.has(key.toLowerCase())) { return [key, "[redacted]"]; } return [key, value]; }) ); }