Spaces:
Runtime error
Runtime error
File size: 1,778 Bytes
cd8bd0a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | /**
* SSE Logger β Thin wrapper around the shared Pino logger
* for backward compatibility with existing SSE code.
*
* Migrated from direct console logging to structured Pino logging.
*/
import { createLogger, logger as rootLogger } from "@/shared/utils/logger";
const log = createLogger("sse");
export function debug(tag: string, message: string, data?: unknown) {
log.debug({ tag, ...spreadData(data) }, message);
}
export function info(tag: string, message: string, data?: unknown) {
log.info({ tag, ...spreadData(data) }, message);
}
export function warn(tag: string, message: string, data?: unknown) {
log.warn({ tag, ...spreadData(data) }, message);
}
export function error(tag: string, message: string, data?: unknown) {
log.error({ tag, ...spreadData(data) }, message);
}
export function request(method: string, path: string, extra?: unknown) {
log.info({ tag: "HTTP", method, path, ...spreadData(extra) }, `π₯ ${method} ${path}`);
}
export function response(status: number, duration: number, extra?: unknown) {
const level = status < 400 ? "info" : "error";
log[level](
{ tag: "HTTP", status, duration, ...spreadData(extra) },
`π€ ${status} (${duration}ms)`
);
}
export function stream(event: string, data?: unknown) {
log.debug({ tag: "STREAM", event, ...spreadData(data) }, `π ${event}`);
}
// Mask sensitive data (kept for backward compat; prefer shared maskKey)
export { maskKey } from "@/shared/utils/formatting";
// Helper to spread data into structured fields
function spreadData(data: unknown): Record<string, unknown> {
if (!data) return {};
if (typeof data === "string") return { detail: data };
if (typeof data === "object") return data as Record<string, unknown>;
return { detail: String(data) };
}
|