Leon4gr45/builder
0
1import { clsx, type ClassValue } from "clsx";2import { twMerge } from "tailwind-merge";3 4export function cn(...inputs: ClassValue[]) {5 return twMerge(clsx(inputs));6}7 8// Lightweight logger with env-controlled levels9type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';10const levelOrder: Record<LogLevel, number> = { debug: 10, info: 20, warn: 30, error: 40, silent: 50 };11const envLevel = (typeof process !== 'undefined' && (process.env.NEXT_PUBLIC_LOG_LEVEL as LogLevel)) || 'warn';12 13function shouldLog(threshold: LogLevel) {14 return levelOrder[envLevel] <= levelOrder[threshold];15}16 17export const logger = {18 debug: (...args: any[]) => { if (shouldLog('debug')) console.debug(...args); },19 info: (...args: any[]) => { if (shouldLog('info')) console.info(...args); },20 warn: (...args: any[]) => { if (shouldLog('warn')) console.warn(...args); },21 error: (...args: any[]) => { if (shouldLog('error')) console.error(...args); },22};23 