Files

44 lines
1.3 KiB
TypeScript

import { APP_CONFIG } from "../app/config.js";
import { comfyToast } from "../app/toast.js";
/**
* Structured debug logger — respects the DEBUG_VERBOSE_ERRORS flag.
* Replaces scattered bare console.debug(label, ...) calls so log output
* can be controlled centrally and is silenced in production by default.
*
* Usage: mjrDbg("[Module]", "message", optionalExtra)
*/
export function mjrDbg(tag: string, ...args: unknown[]): void {
try {
if (APP_CONFIG.DEBUG_VERBOSE_ERRORS) {
console.debug(tag, ...args);
}
} catch {
// never throw from a logging helper
}
}
export function reportError(
err: unknown,
context = "Majoor",
{ showToast = false, toastType = "error" }: { showToast?: boolean; toastType?: string } = {},
): void {
const message = (err as Error)?.message || String(err || "Unknown error");
try {
if (APP_CONFIG.DEBUG_VERBOSE_ERRORS) {
console.error(`[Majoor][${context}]`, message, err);
} else {
console.debug(`[Majoor][${context}]`, message);
}
} catch (e) {
console.debug?.(e);
}
if (showToast && APP_CONFIG.DEBUG_VERBOSE_ERRORS) {
try {
comfyToast(`${context}: ${message}`, toastType, 4000);
} catch (e) {
console.debug?.(e);
}
}
}