Write-Log #
ÜBERSICHT #
Schreibt eine Nachricht mit Zeitstempel in eine Logdatei mit automatischer Retry-Logik bei parallelen Schreibzugriffen.
SYNTAX #
Write-Log [[-Message] <string>] [[-LogFile] <string>] [<CommonParameters>]
BESCHREIBUNG #
Die Funktion Write-Log schreibt eine angegebene Nachricht mit einem vorangestellten Zeitstempel im Format yyyy-MM-dd HH:mm:ss in eine Logdatei. Um Konflikte bei parallelen Schreibzugriffen wie z.B. aus mehreren Jobs oder Prozessen, zu reduzieren. Entsprechend enthält die Funktion eine automatische Retry-Logik. Falls die Datei temporär gesperrt ist, versucht die Funktion bis zu 15-mal, die Nachricht erneut zu schreiben, mit einer zufälligen Verzögerung zwischen 50 und 250 Millisekunden zwischen den Versuchen.
Falls alle 15 Versuche fehlschlagen, wird eine Warnung über Write-Warning ausgegeben.
PARAMETER #
-Message #
Type: string
Der Text, der in die Logdatei geschrieben werden soll.
-LogFile #
Type: string
Der vollständige Pfad zur Logdatei.
AUSGABEN #
void
Keinen direkten Rückgabewert. Gibt Verbose-Nachrichten aus, wenn Retrys benötigt wurden, und eine Warnung, falls alle Retrys fehlschlagen.
BEISPIELE #
# Schreibt den Eintrag "2025-06-23 10:20:30 - Prozess erfolgreich gestartet" in die Datei "app.log".
Write-Log -Message "Prozess erfolgreich gestartet" -LogFile "C:\Logs\app.log"
# Schreibt eine Nachricht in das Logfile und gibt zusätzlich die Anzahl der benötigten Retrys bei Konflikten über den Verbose-Stream aus.
Write-Log -Message "Fehler beim Zugriff auf die Datenbank" -LogFile $logPath -Verbose
HINWEISE #
Geeignet für parallele Szenarien, insbesondere in Multi-Job-Umgebungen oder Skripten mit parallelen Prozessen.