AutoIt
Func __LogFile_Write($i_LOG_LEVEL, $s_LOG_MESSAGE)
Local $a_LOG_LEVEL[] = ["Nichts ----------------", "Information -----------", "Warnung ---------------", "Fehler ----------------", "Kritischer Fehler -----"]
FileWriteLine($__g_fHwndLog, "[" & @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "] -> " & $a_LOG_LEVEL[$i_LOG_LEVEL] & " -> " & $s_LOG_MESSAGE)
EndFunc ;==>
Zu Zeile 2:
Local $a_LOG_LEVEL[] = [...] ; wenn du keinen Wert angibst, kannst du die [] auch weglassen.
Local $a_LOG_LEVEL = [...]
"Nichts ----------------"; Hust... da kann ich geistig nicht folgen, wofür das gut sein soll.
Zu Zeile 3:
FileWriteLine($__g_fHwndLog, ... ; Kann bitte mal jemand diesen Variablennamen aufschlüsseln?
FileWriteLine($__g_hLog, ... ; wäre doch treffender?!
Ansonsten würde ich die Funktion eher so schreiben...
AutoIt
Func __LogFile_Write($hLOG, $iLOG_LEVEL, $sLOG_MESSAGE)
; Static Variablen existieren nur innerhalb der Funktion in der sie deklariert wurden, aber sie existieren weiter und behalten ihren letzten Wert, nachdem die Ausführung der Funktion beendet ist.
Local Static $_FO_LOG = '[%s/%s/%s %s:%s:%s] -> %s -> %s', _
$_aLOG_LEVEL = ["Nichts ----------------", _
"Information -----------", _
"Warnung ---------------", _
"Fehler ----------------", _
"Kritischer Fehler -----"]
;~ ConsoleWrite(StringFormat($_FO_LOG, @YEAR, @MON, @MDAY, @HOUR, @MIN, @SEC, $_aLOG_LEVEL[$iLOG_LEVEL], $sLOG_MESSAGE) & @CRLF)
FileWriteLine($hLOG, StringFormat($_FO_LOG, @YEAR, @MON, @MDAY, @HOUR, @MIN, @SEC, $_aLOG_LEVEL[$iLOG_LEVEL], $sLOG_MESSAGE))
EndFunc ;==>__LogFile_Write
Alles anzeigen