PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Entwicklung und Softwaredesign (http://www.selfphp.de/forum/forumdisplay.php?f=14)
-   -   Logfile auswerten, aber wie? (http://www.selfphp.de/forum/showthread.php?t=24026)

Distructive 22.02.2011 14:27:09

Logfile auswerten, aber wie?
 
Hi,

ich stehe vor folgendem Problem, ich muss einen Logfile alle 1-2min neu auswerten, dafür benötige ich jedoch nur die letzten 100-200 zeilen.

So das ist soweit mit fopen() ja kein problem, jedoch wird der Logfile sehr sehr groß, momentan liegt er bei ca. 50mb und wächst täglich um ca 5mb. Ich denke mir nun, dass wenn ich nun alle 2min den rießen file öffne, es sicher sehr auf die performance gehen wird.

Meine Überlegung war nun, jedesmal den original file auslesen, dann löschen und auswerten, und den neuen teil in eine backup dateie schreiben... So hätte ich immer nur einen kleinen logfile zum auswerten.

Oder gibt es eine möglichkeit zu sagen, er soll wirklich nur die letzten 200 zeilen auslesen ohne die gesamte datei zu öffnen. Oder vllt ein ganz anderer ansatz?

Schonmal danke für eure Ideen

Lg

CPCoder 31.03.2011 12:26:24

AW: Logfile auswerten, aber wie?
 
Wenn das Betriebssystem darunter ein Linux-System ist, kannst du es ja mal so probieren:

PHP-Code:


ob_start
();
// Auslesen der letzten 15 Zeichen einer Log-Datei
passthru('tail -n 15 /pfad/zu/deiner/logdatei.log'$result);
$content_grabbed ob_get_contents();
ob_end_clean();

if (
$result == 0) {
    echo 
'<pre>'.$content_grabbed.'</pre>';


Wenn du statt der 15 Zeilen mehr auslesen willst (wie du schon sagtest die letzten 100-200 Zeilen), dann änder den Wert von 15 entsprechend ab.

TeX 02.07.2011 17:37:05

AW: Logfile auswerten, aber wie?
 
Oder eine neue Log-File anlegen wenn z.B. 10MB erreicht sind (kann man ja das Datum an dem Dateinamen schreiben lassen logfile-2011-07-01-12-00.log (sortierung einfach möglich)).

Oder in eine DB schreiben, die nicht mehr gebrauchten in Dateien exportieren und packen lassen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:55:50 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.