Files
scoreko-electron-dev/src/main/errors/logger.ts
T

35 lines
929 B
TypeScript

export type LogLevel = "debug" | "info" | "warn" | "error";
type LogContext = Record<string, unknown>;
function write(level: LogLevel, message: string, context?: LogContext): void {
const payload = {
ts: new Date().toISOString(),
level,
source: "scoreko-electron",
message,
...(context ? { context } : {}),
};
const line = JSON.stringify(payload);
if (level === "error") {
console.error(line);
return;
}
if (level === "warn") {
console.warn(line);
return;
}
console.log(line);
}
export const logger = {
debug: (message: string, context?: LogContext): void => write("debug", message, context),
info: (message: string, context?: LogContext): void => write("info", message, context),
warn: (message: string, context?: LogContext): void => write("warn", message, context),
error: (message: string, context?: LogContext): void => write("error", message, context),
};