000
01.08.2007, 15:20 Uhr
~di9d
Gast
|
Hallo Ich habe folgende Funktion geschrieben, um Logs in einer Log Datei zu speicher.
PHP 4: |
function writeToLogFile($access, $ip, $user, $server, $version) { $msg = date("[Y-m-d D H:i:s]") . "\t" . $access . "\t" . $ip . "\t" . $user . ((strlen($user) < 8) ? "\t" : "") . "\t\t" . $server . "\t" . $version; $logfile = "LOG_" . date("M-Y") . ".txt"; $saveLocation = $logfile; if(!$handle = @fopen($saveLocation, "a")) exit; else{ if(@fwrite($handle, "$msg\r\n")===FALSE) exit; @fclose($handle); } }
|
Diese funktioniert in 80 % der Fälle fehlerfrei. Doch es kommt auch immer wieder vor (mindestens 2-3 Mal am Tag), dass seltsamerweise die letzte Zeile in der Logdatei zuerst mit 'sternartigen' Zeichen überschrieben wird und dann unmittelbar dahinter (keine neue Zeile) den zu loggenden String einfügt. Ich konnte bis jetzt noch kein Muster feststellen, es scheint als ob das total zufällig geschieht. Leider habe ich weder Ahnung, was da manchmal schief geht, noch wie man das Problem beheben kann.
Hat irgendwer von euch vielleicht Ideen oder Vorschläge? |