// 개발 환경 디버그 유틸리티 // const isDev = process.env.NODE_ENV === 'development'; // 테스트기간동안 로그 수집을 위해 true로 변경 const isDev = true; const isDebugEnabled = process.env.NEXT_PUBLIC_DEBUG === 'true' || isDev; /** * 현재 시간을 YYYYMMDD-HHMMSS 형식으로 반환 */ function getTimestamp(): string { const now = new Date(); const year = now.getFullYear(); const month = String(now.getMonth() + 1).padStart(2, '0'); const day = String(now.getDate()).padStart(2, '0'); const hours = String(now.getHours()).padStart(2, '0'); const minutes = String(now.getMinutes()).padStart(2, '0'); const seconds = String(now.getSeconds()).padStart(2, '0'); return `${year}${month}${day}-${hours}${minutes}${seconds}`; } /** * 개발 환경에서만 console.log 출력 */ export function debugLog(message: string, ...args: unknown[]) { if (isDebugEnabled) { console.log(`🔍 [${getTimestamp()}] ${message}`, ...args); } } /** * 개발 환경에서만 console.error 출력 */ export function debugError(message: string, ...args: unknown[]) { if (isDebugEnabled) { console.error(`❌ [${getTimestamp()}] ${message}`, ...args); } } /** * 개발 환경에서만 console.warn 출력 */ export function debugWarn(message: string, ...args: unknown[]) { if (isDebugEnabled) { console.warn(`⚠️ [${getTimestamp()}] ${message}`, ...args); } } /** * 개발 환경에서만 성공 로그 출력 */ export function debugSuccess(message: string, ...args: unknown[]) { if (isDebugEnabled) { console.log(`✅ [${getTimestamp()}] ${message}`, ...args); } } /** * 개발 환경에서만 프로세스 로그 출력 */ export function debugProcess(message: string, ...args: unknown[]) { if (isDebugEnabled) { console.log(`🔐 [${getTimestamp()}] ${message}`, ...args); } } /** * 개발 환경에서만 Mock 모드 로그 출력 */ export function debugMock(message: string, ...args: unknown[]) { if (isDebugEnabled) { console.log(`🎭 [${getTimestamp()}] ${message}`, ...args); } } /** * 개발 환경 여부 확인 */ export function isDevMode(): boolean { return isDev; } /** * 디버그 모드 여부 확인 (DEBUG=true 또는 NODE_ENV=development) */ export function isDebugMode(): boolean { return isDebugEnabled; }