sendou.ink/app/utils/logger.ts
Kalle fef1ffc955
Design refresh + a bunch of stuff (#2864)
Co-authored-by: hfcRed <hfcred@gmx.net>
2026-03-19 17:51:42 +02:00

30 lines
913 B
TypeScript

/** biome-ignore-all lint/suspicious/noConsole: stub file to enable different solution later */
import { getSessionId as getClientSessionId } from "./session-id";
declare global {
var __getServerSessionId: (() => string | undefined) | undefined;
}
function getSessionIdForLog(): string {
if (typeof window !== "undefined") {
return getClientSessionId();
}
return globalThis.__getServerSessionId?.() ?? "no-session";
}
function formatLog(...args: unknown[]) {
const sessionId = getSessionIdForLog();
return [`[${sessionId}]`, ...args];
}
export const logger = {
info: (...args: unknown[]) => console.log(...formatLog(...args)),
error: (...args: unknown[]) => console.error(...formatLog(...args)),
warn: (...args: unknown[]) => console.warn(...formatLog(...args)),
debug: (...args: unknown[]) => {
if (process.env.NODE_ENV === "production") return;
console.debug(...formatLog(...args));
},
};