src/SafeLogging.ps1
| # # SafeLogging.ps1 # Provides safe wrapper functions for logging that gracefully handle missing LoggingModule # function Write-SafeInfoLog { param([string]$Message, [hashtable]$Additional = @{}) if (Get-Command 'Write-InfoLog' -ErrorAction SilentlyContinue) { Write-InfoLog -Message $Message -Additional $Additional } else { Write-Host "[INFO] - $Message" -ForegroundColor Green if ($Additional.Count -gt 0) { $Additional.GetEnumerator() | ForEach-Object { Write-Host " ▶ $($_.Key): $($_.Value)" -ForegroundColor Gray } } } } function Write-SafeWarningLog { param([string]$Message, [hashtable]$Additional = @{}) if (Get-Command 'Write-WarningLog' -ErrorAction SilentlyContinue) { Write-WarningLog -Message $Message -Additional $Additional } else { Write-Host "[WARNING] - $Message" -ForegroundColor Yellow if ($Additional.Count -gt 0) { $Additional.GetEnumerator() | ForEach-Object { Write-Host " ▶ $($_.Key): $($_.Value)" -ForegroundColor Gray } } } } function Write-SafeErrorLog { param([string]$Message, [hashtable]$Additional = @{}) if (Get-Command 'Write-ErrorLog' -ErrorAction SilentlyContinue) { Write-ErrorLog -Message $Message -Additional $Additional } else { Write-Host "[ERROR] - $Message" -ForegroundColor Red if ($Additional.Count -gt 0) { $Additional.GetEnumerator() | ForEach-Object { Write-Host " ▶ $($_.Key): $($_.Value)" -ForegroundColor Gray } } } } function Write-SafeDebugLog { param([string]$Message, [hashtable]$Additional = @{}) if (Get-Command 'Write-DebugLog' -ErrorAction SilentlyContinue) { Write-DebugLog -Message $Message -Additional $Additional } else { Write-Host "[DEBUG] - $Message" -ForegroundColor Cyan if ($Additional.Count -gt 0) { $Additional.GetEnumerator() | ForEach-Object { Write-Host " ▶ $($_.Key): $($_.Value)" -ForegroundColor Gray } } } } |