28 lines
829 B
TypeScript
28 lines
829 B
TypeScript
export interface SapB1Logger {
|
|
debug(message: string, meta?: Record<string, unknown>): void;
|
|
info(message: string, meta?: Record<string, unknown>): void;
|
|
warn(message: string, meta?: Record<string, unknown>): void;
|
|
error(message: string, meta?: Record<string, unknown>): void;
|
|
}
|
|
|
|
export const noopLogger: SapB1Logger = {
|
|
debug: () => undefined,
|
|
info: () => undefined,
|
|
warn: () => undefined,
|
|
error: () => undefined
|
|
};
|
|
|
|
export function sanitizeLogMeta(meta: Record<string, unknown>): Record<string, unknown> {
|
|
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];
|
|
})
|
|
);
|
|
}
|