in reply to Re: fastcgi stderr redirect problems
in thread fastcgi stderr redirect problems
Then in the run_loop in another package#!/usr/local/bin/perl -wT use strict; use TEST::App::MainApp; $SIG{__WARN__} = \&warn_handler; redirect_error_log("/export/home/rdave/logs/error_log"); my $app = TEST::App::MainApp() $app->run_loop(); use constant MAX_MSGLEN => 1022; sub warn_handler { my $msg = join "", @_; # print to STDERR $msg = "[" . "$$|" . time2iso() . "] " . $msg; # send in chunks, if necessary while (length $msg > MAX_MSGLEN) { my $chunk = substr($msg, 0, MAX_MSGLEN); $msg = substr($msg, MAX_MSGLEN); warn $chunk, "\n"; } warn $msg; }
I am not changing or redirecting STDERR anywhere else in the program other than the first time. In the above code snippet the first warn goes to /usr/local/apache/logs/error_log and the bottom one goes to local log file. The code is spread over 1000s of lines, so sorry could'nt post it, but one thing is sure, that the program is not touching STDERR/redirect_elog/LCSTDERR elsewhere and this one works fine with perl 5.6.1 and behaving this way with perl 5.8.5sub run_loop { my ($self) = @_; my $requester = $self->requester; $self->{_REQUEST_NUMBER}=0; # initialize the request counter while (my $input = $requester->new_request()) { $self->_reset_timings; # start request timing begin_timing('REQUEST'); $self->scratch->init; ++$self->{_REQUEST_NUMBER}; warn "[--] Starting a new request $self->{_REQUEST_NUMBER} (Cl +ient: $ENV{REMOTE_ADDR}) ...\n"; $self->{_INPUT} = $input; # read application configuration $self->config_object->getConfig($self->name()); # process request $self->_process_request; # finish the request $requester->close_request(); $self->invoke_post_request_callbacks; # end request timing $self->timing('REQUEST', time_since('REQUEST')); warn "[--] Finished handling request $self->{_REQUEST_NUMBER} +...\n"; $self->post_request; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: fastcgi stderr redirect problems
by shmem (Chancellor) on Aug 21, 2006 at 06:34 UTC |