diff --git a/apps/web/src/app/shared/utils/logger.ts b/apps/web/src/app/shared/utils/logger.ts new file mode 100644 index 000000000..8da8726a8 --- /dev/null +++ b/apps/web/src/app/shared/utils/logger.ts @@ -0,0 +1,32 @@ +import { AppConfig } from '../../../environments/environment'; + +export interface Logger { + debug: (...args: unknown[]) => void; + info: (...args: unknown[]) => void; + warn: (...args: unknown[]) => void; + error: (...args: unknown[]) => void; +} + +export function createLogger(scope: string): Logger { + const prefix = `[${scope}]`; + const debugEnabled = !AppConfig.production; + + return { + debug: (...args: unknown[]) => { + if (debugEnabled) { + console.debug(prefix, ...args); + } + }, + info: (...args: unknown[]) => { + if (debugEnabled) { + console.info(prefix, ...args); + } + }, + warn: (...args: unknown[]) => { + console.warn(prefix, ...args); + }, + error: (...args: unknown[]) => { + console.error(prefix, ...args); + }, + }; +}