error.log datei in der Grösse beschränken

Rios

Erfahrenes Mitglied
hi zusammen,

ich suche nach einer Möglichkeit, dass die errorlog Datei eine bestimmte Grösse, sagen wir 5 MB, nicht überschreitet.
Um die Performance nicht zum Einsturz zu bringen, kann ich nicht z.B. den gesamten Dateiinhalt einlesen, vorne etwas abzwacken, den neuesten error hintendran schreiben und die ganze Datei neu speichern.

Hat irgend jemand eine Idee dafür?
 
also! errorlog ist ne .txt oder so? ich vermute jetzt einfach mal dass jeder eintrag eine zeile ist! ansonsten musst du das eben anpassen:
Code:
<?php
if(filesize("error.txt")>=5000000) {
//wenn die dateigröße 5mb ist oder größer
 $errors=file("error.txt");
 $err_w=fopen("error.txt","w+");
 
 //so! jetzt sagen wir wir wollen die ältesten 10 einträge weg haun! 
for($i=9;$i<count($errors);$i++) { 
fputs($err_w, $errors[$i]."\n");
}
fclose($err_w);
?>

so! ich hoffe ich konnte wenigstens ein bischen helfen!
 
ja also funktionieren würde so etwas, aber das errorlog wird ziemlich oft aufgerufen..(ist ne intranet anwendung für ca 100 leute)

Wenn ich jetzt andauernd ne 5 MB grosse datei einlese, schreibe und wieder speicher würde die performance sicher enorm in die knie gehen schätze ich mal.
 
Zurück