Thread Ausgabe umlenken - Reihenfolgeproblem (2 answers)
Opened by Astralkeks at 2012-09-05 17:25

murphy
 2012-09-05 17:48
#161646 #161646
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Die etwas überraschende Sequenzierung der Ausgabe dürfte am Pufferungsverhalten der Dateihandles liegen.

Ich würde vorschlagen, das ganze etwas weniger redundant aufzuschreiben und Autoflush zu aktivieren:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env perl
use 5.012;
use warnings;

use POSIX;
use IO::Handle;

my $globalLog = 'foo.log';

open(GLOG, '>>', $globalLog) || die "Kann $globalLog nicht öffnen: $!";
GLOG->autoflush(1);

open(STDOUT, '>&GLOG');
open(STDERR, '>&GLOG');

logPrint("1\n");
print "2\n";
logPrint2("3\n");
print GLOG ("4\n");

sub logPrint {
    print GLOG "-- ".strftime('%H:%M:%S',localtime(time()))." -- ".shift;
}
sub logPrint2 {
    print "-- ".strftime('%H:%M:%S',localtime(time()))." -- ".shift;
}
When C++ is your hammer, every problem looks like your thumb.

View full thread Ausgabe umlenken - Reihenfolgeproblem