Thread Loggen aber vorher auf dem Bildschirm anzeigen (5 answers)
Opened by loggi at 2010-11-16 19:47

Gast loggi
 2010-11-16 19:47
#142795 #142795
Hallo,
ich moechte gerne ein Script implementieren, welches seine Ausgabe auf die Konsole auch, gleichzeitig (samt Ausgaben der aufgerufenen Befehle) in ein log file schreibt.

Angefangen habe ich anhand einer Beschreibung im Netz, in etwa folgendermassen. Nun stoert mich dabei, dass dann alles was man per "print LOG" schreibt gleich ins logfile geht, ohne vorher noch auf dem Bildschirm zu kommen. Momentan gehe ich das Problem an wie unten beschrieben, aber sobald ich bspw. ein ls -al mache, steht im log nur "Total 20" oder sowas.

Wie schafft man es auf den Bildschirm zu schreiben, als auch in eine Logdatei? Gibt es einen eleganteren Weg als den?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/us/bin/perl                                                             
use strict;
use warnings;

my $logging = 1;
sub logit
{
    return unless $logging;
    my $msg=shift;
    print $msg;
    print LOG $msg;
}

`rm -f ./some.log`;                               
if( $logging ){ open( LOG, ">> ./some.log"); }
&logit("Hello World!\n");
&logit(`ls -al`);
if( $logging ){ close( LOG ); }


//Modedit GwenDragon: Zeilenumbruch in Code bei use strict; eingefügt
Last edited: 2010-11-17 09:54:24 +0100 (CET)

View full thread Loggen aber vorher auf dem Bildschirm anzeigen