Re: Registry and CGI::Carp

2012-01-27 Thread Brett Lee
 
Jim,

Thanks for your reply.  Yes, 
that was my post to perlmonks.  set_progname() is a function in the Carp module 
that lets you set/reset the name of the Carping script; that way you know which 
script generated the logged event.  Another way is to pass 
"name=scriptX" to 'use CGI::Carp'.

> seeing problems with the logging.  The message that is logged is correct,
> however the name of the script that generated the event is not.

The question above was implied; sorry, not ideal for this format.  Being more 
explicit:

"What is the best way to get CGI::Carp to accurately log the names of Carping 
Registry scripts?"

Regarding END{}, my inconclusive tests support this:


http://perl.apache.org/docs/2.0/api/ModPerl/Registry.html#C_END__Blocks


Brett





>
> From: Jim Schueler 
>To: Brett Lee  
>Cc: modperl  
>Sent: Friday, January 27, 2012 2:11 PM
>Subject: Re: Registry and CGI::Carp
> 
>There's no question or anything resembling a request in your email.  So my 
>response may waste a lot of time.
>
>Is this your original post?
>  http://www.perlmonks.org/?node_id=949773
>
>If so, I might be able to help.
>
>Admittedly, I can't follow the thread.  The PerlMonds responder refers to a 
>function set_progname().  But I can't figure out what that refers to.
>
>However, in the third exchange, you referenced a problem I have some 
>experience with:  Apache::Registry executes the BEGIN{} block once, and the 
>END{} block repeatedly.  Fundamentally, the Perl specification expects them to 
>be balanced, and I'm still amazed at this shortcoming.  I wrote a workaround 
>that might get you over your hurdle.  Please check out Apache::ChildExit.
>
>I'm amazed that my solution wasn't generally adopted.  As you note, it seems 
>like this would be a pretty common scenario.  Give it a try, and please let me 
>know whether this solution gives you any traction.
>
>Cheers!
>
>-Jim
>
>
>
>On Fri, 27 Jan 2012, Brett Lee wrote:
>
>> Hi Folks,
>> 
>> Running several scripts under ModPerl::Registry that use CGI::Carp.  Am
>> seeing problems with the logging.  The message that is logged is correct,
>> however the name of the script that generated the event is not.
>> 
>> Each script contains a line similar to:
>> 
>> use CGI::Carp qw(name=my_script_X);
>> 
>> When the scripts are precompiled in startup.pl, the *same* script name is
>> logged for each and every script.  When scripts are not precompiled the name
>> is frequently correct, but it is not correct all of the time.
>> 
>> A post earlier to Perl Monks came back with the suggestion to extend
>> CGI::Carp.pm to support running under Registry.  As what I am trying to do
>> seems like it would be a pretty common scenario, am thinking there may be
>> another option.
>> 
>> Thanks for considering this one.
>> Brett
>> 
>> 
>
>

Re: Registry and CGI::Carp

2012-01-27 Thread Jim Schueler
There's no question or anything resembling a request in your email.  So my 
response may waste a lot of time.


Is this your original post?
  http://www.perlmonks.org/?node_id=949773

If so, I might be able to help.

Admittedly, I can't follow the thread.  The PerlMonds responder refers to 
a function set_progname().  But I can't figure out what that refers to.


However, in the third exchange, you referenced a problem I have some 
experience with:  Apache::Registry executes the BEGIN{} block once, and 
the END{} block repeatedly.  Fundamentally, the Perl specification expects 
them to be balanced, and I'm still amazed at this shortcoming.  I wrote a 
workaround that might get you over your hurdle.  Please check out 
Apache::ChildExit.


I'm amazed that my solution wasn't generally adopted.  As you note, it 
seems like this would be a pretty common scenario.  Give it a try, and 
please let me know whether this solution gives you any traction.


Cheers!

 -Jim



On Fri, 27 Jan 2012, Brett Lee wrote:


Hi Folks,

Running several scripts under ModPerl::Registry that use CGI::Carp.  Am
seeing problems with the logging.  The message that is logged is correct,
however the name of the script that generated the event is not.

Each script contains a line similar to:

use CGI::Carp qw(name=my_script_X);

When the scripts are precompiled in startup.pl, the *same* script name is
logged for each and every script.  When scripts are not precompiled the name
is frequently correct, but it is not correct all of the time.

A post earlier to Perl Monks came back with the suggestion to extend
CGI::Carp.pm to support running under Registry.  As what I am trying to do
seems like it would be a pretty common scenario, am thinking there may be
another option.

Thanks for considering this one.
Brett



Registry and CGI::Carp

2012-01-27 Thread Brett Lee
Hi Folks,

Running several scripts under ModPerl::Registry that use CGI::Carp.  Am seeing 
problems with the logging.  The message that is logged is correct, however the 
name of the script that generated the event is not.

Each script contains a line similar to:

use CGI::Carp qw(name=my_script_X);

When the scripts are precompiled in startup.pl, the *same* script name is 
logged for each and every script.  When scripts are not precompiled the name is 
frequently correct, but it is not correct all of the time.

A post earlier to Perl Monks came back with the suggestion to extend 
CGI::Carp.pm to support running under Registry.  As what I am trying to do 
seems like it would be a pretty common scenario, am thinking there may be 
another option.

Thanks for considering this one.
Brett