Thread Ausgabe auf STDERR und Datei gleichzeitig (quasi wie tee)
(14 answers)
Opened by GwenDragon at 2022-08-03 16:01
Ich werde am Anfang des Programms dann das einfügen, damit STDErr gefangen wird.
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 use vars qw( $log_file ); $log_file = "T:/err.log"; package TeeStderr; use Fcntl qw(:flock); sub TIEHANDLE { my $i; bless \$i, shift } sub PRINT { my $r = shift; print "STDERR $$ ", @_; if ( open my $FH, '>>', $log_file ) { flock $FH, LOCK_EX; print $FH "" . localtime, "\t", "ErrorLog: ", "", $$, " ", @_; close $FH; } } package main; $| = 1; tie *STDERR, "TeeStderr"; Geht auf der Kommandozeile von Linux und Windows, aber entzieht auf einem Linux Apache STDERR, sodass der nichts mehr ins Errorlog bekommt. //EDIT: Ich finde aber nix dazu auf https://metacpan.org/release/SHAY/perl-5.34.1/view... Last edited: 2022-08-06 17:34:11 +0200 (CEST) |