Thread logfile (4 answers)
Opened by leo11 at 2009-02-14 22:17

leo11
 2009-02-14 22:17
#118865 #118865
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
Hallo Perlgemeinde,

folgender Code:
Code (perl): (dl )
1
2
3
4
5
6
7
8
sysopen(LOG_FILE, $logfile, O_RDWR|O_CREAT ) or die "Can't opne $logfile: $!";  #mit lese/schreibrechten öffnen, ggf neu anlegen
if (flock(LOG_FILE, &LOCK_EX)) {         # exclusive lock
    while (<LOG_FILE>) {
              print LOG_FILE $_;
    }
    flock(LOG_FILE, &LOCK_UN) or die "Can't unlock logfile $!"; # unlock
}
close(LOG_FILE) or die "Can't close logfile $!";

macht aus einer Datei in der
1
2
3
4
steht
1
1
3
3

Wieso ist das so?

Meine Absicht ist im Logfile bspw. nach der Zeile zu suchen die mit dem Key xy anfängt und in dieser Zeile rechts etwas anzuhängen. Sollte es den Key xy bisher im Logfile nicht geben, soll er an die Datei angehängt werden. Außerdem will ich dafür sorgen, dass wenn die Datei 500 Zeilen hat vorn 50 Zeilen gelöscht werden, und dass unter Berücksichtigung von konkurrierenden Prozessen. Wie kann man dazu sinnvoll vorgehen?

View full thread logfile