Schrift
[thread]8348[/thread]

Suche Modul in bezug auf Filehandles

Leser: 1


<< >> 4 Einträge, 1 Seite
Gast Gast
 2006-09-20 13:45
#70088 #70088
Ich weiss das es das Modul gibt aber ich weiss nciht mehr wie es heisst. Und zwar mein Problem ist folgendes. Ich habe ein UDP Serverscript das Nachrichten von allen Servern in der Serverfarm bekommt. Ich schreibe diese Nachrichten zentral auf dem Loggingserver in verscheidene Dateien.
Wenn die Datei groesser 1 GB ist wird sie umbenannt und es wird eine neue Datei erstellt in die weiter geschrieben wird. Soweit funktioniert auch alles. Nur ist es so das die Anzahl der unterschiedlichen Files immer mehr werden. Bis jetzt mache ich folgendes.
Code: (dl )
1
2
3
open(FILE, ">> /var/log/central/$filename.log"),
print FILE $text."\n";
close(FILE);

Ich weiss aber das es ein Modul gibt das das mir den staendigen open close abnimmt. bzw. das ich nicht immer die Datei aufmachen und schliessen muss.

Wichtig ist das der $text sofort mit einem
Code: (dl )
tail -f /var/log/central/filename.log 

zu sehen ist. Deswegen muss ich das irgendwie raus flushen koennen, ich weiss aber nicht wie.
Relais
 2006-09-20 14:28
#70089 #70089
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
$| = 1; # erledigt das automatische Flushen für Dich.

Siehe perlvar
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Neal_the_real
 2006-09-20 14:28
#70090 #70090
User since
2006-02-21
21 Artikel
BenutzerIn
[Homepage] [default_avatar]
Fuer die es interessiert, hier habe ich ein Beispiel we ich es jetzt umgesetzt habe:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/local/bin/perl -w
use strict;
use IO::File;
my $fh = new IO::File;
$fh->open(">> /tmp/neal/log.txt");
$fh->autoflush();
foreach(0 .. 9) {
print $fh "Test $_\n";
sleep(1);
}
$fh->close;
--
Gruss Neal

Hier koennte ein schlauer Spruch stehen!
Neal_the_real
 2006-09-20 14:32
#70091 #70091
User since
2006-02-21
21 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo Relais. $|=1 Damit hast du schon recht aber ich moechte es auf verschiedene Filehandles anwenden. siehe Beispiel weiter oben.
--
Gruss Neal

Hier koennte ein schlauer Spruch stehen!
<< >> 4 Einträge, 1 Seite



View all threads created 2006-09-20 13:45.