# Enhanced logging system for provisioning tool use ../config/accessor.nu * export def log-info [ message: string context?: string ] { let timestamp = (date now | format date '%Y-%m-%d %H:%M:%S') let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" } print $"ℹ️ ($timestamp)($context_str) ($message)" } export def log-success [ message: string context?: string ] { let timestamp = (date now | format date '%Y-%m-%d %H:%M:%S') let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" } print $"✅ ($timestamp)($context_str) ($message)" } export def log-warning [ message: string context?: string ] { let timestamp = (date now | format date '%Y-%m-%d %H:%M:%S') let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" } print $"⚠️ ($timestamp)($context_str) ($message)" } export def log-error [ message: string context?: string details?: string ] { let timestamp = (date now | format date '%Y-%m-%d %H:%M:%S') let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" } let details_str = if ($details | is-not-empty) { $"\n Details: ($details)" } else { "" } print $"🛑 ($timestamp)($context_str) ($message)($details_str)" } export def log-debug [ message: string context?: string ] { if (is-debug-enabled) { let timestamp = (date now | format date '%Y-%m-%d %H:%M:%S') let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" } print $"🐛 ($timestamp)($context_str) ($message)" } } export def log-step [ step: string total_steps: int current_step: int context?: string ] { let progress = $"($current_step)/($total_steps)" let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" } print $"🔄 ($progress)($context_str) ($step)" } export def log-progress [ message: string percent: int context?: string ] { let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" } print $"📊 ($context_str) ($message) ($percent)%" }