37 lines
881 B
PowerShell
37 lines
881 B
PowerShell
<#
|
|
.SYNOPSIS
|
|
Service de logging pour les scripts PowerShell.
|
|
.DESCRIPTION
|
|
Fournit une fonction Write-Log qui logge des messages avec timestamp, niveau et fichier de log.
|
|
#>
|
|
|
|
# Définir le fichier de log globalement pour ce module
|
|
$Global:LogFile = ".\app.log"
|
|
|
|
function Write-Log {
|
|
[CmdletBinding()]
|
|
param(
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$Message,
|
|
|
|
[Parameter(Mandatory=$false)]
|
|
[ValidateSet("INFO", "WARN", "ERROR")]
|
|
[string]$Level = "INFO"
|
|
)
|
|
|
|
# Timestamp
|
|
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
|
|
$line = "[$timestamp] [$Level] $Message"
|
|
|
|
# Affiche à la console
|
|
Write-Output $line
|
|
|
|
# Écrit dans le fichier de log
|
|
try {
|
|
Add-Content -Path $Global:LogFile -Value $line
|
|
}
|
|
catch {
|
|
Write-Warning "Impossible d'écrire dans le fichier de log : $_"
|
|
}
|
|
}
|