90 lines
2.7 KiB
Plaintext
90 lines
2.7 KiB
Plaintext
# 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)%"
|
||
}
|
||
|
||
export def log-section [
|
||
title: string
|
||
context?: string
|
||
] {
|
||
let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" }
|
||
print $""
|
||
print $"📋 ($context_str) ($title)"
|
||
print $"─────────────────────────────────────────────────────────────"
|
||
}
|
||
|
||
export def log-subsection [
|
||
title: string
|
||
context?: string
|
||
] {
|
||
let context_str = if ($context | is-not-empty) { $" [($context)]" } else { "" }
|
||
print $" 📌 ($context_str) ($title)"
|
||
} |