Looks good Andreas, Thank you! I'm forwarding this to the dev list.
Anybody has issues with this change? I'd probably do a little tweak to the code, but otherwise looks good. Might reuse Apache::TestTrace for this functionality.
-------- Original Message -------- Subject: Re: [mp2][PATCH] enhancement for Apache::Reload Date: Tue, 1 Jun 2004 15:01:07 +0200 From: Andreas Bauer <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: Stas Bekman <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED] References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
Hi Stas, sorry for the delay.
On Friday 14 May 2004 20:14, Stas Bekman wrote:
It could be better to have:
PerlSetVar ReloadTrace debug PerlSetVar ReloadTrace info PerlSetVar ReloadTrace error
etc. but I don't think we will need more than 2. Whichever way is fine with me. As this is mp2 we can change the API as long as 2.0 is not released. So may be it's better to go with the second idea.
Ok, I did the ReloadTrace thing with 'info' and 'debug' as possible values. It should not be difficult to add support for more values.
And docs live here: http://perl.apache.org/docs/2.0/api/Apache/Reload.pod.orig
Reload.pm patch:
--- Reload.pm.orig 2004-06-01 14:31:33.133067240 +0200
+++ Reload.pm 2004-06-01 13:54:34.690321800 +0200
@@ -59,7 +59,11 @@ sub handler {
my $o = shift;
$o = $o->base_server if ref($o) eq 'Apache::Connection';+ my %TRLEV = (''=>0, 'info'=>1, 'debug'=>2);
my $DEBUG = ref($o) && (lc($o->dir_config("ReloadDebug") || '') eq 'on');
+ my $TRACE = ref($o) && lc($o->dir_config("ReloadTrace"));
+ my $trlev = $TRLEV{($TRACE || ($DEBUG ? 'debug' : ''))}; my $TouchFile = ref($o) && $o->dir_config("ReloadTouchFile");@@ -70,7 +74,7 @@ sub handler {
my $TouchModules;if ($TouchFile) {
- warn "Checking mtime of $TouchFile\n" if $DEBUG;
+ warn "Checking mtime of $TouchFile\n" if $trlev >= $TRLEV{debug};
my $touch_mtime = (stat($TouchFile))[9] || return 1;
return 1 unless $touch_mtime > $TouchTime;
$TouchTime = $touch_mtime;
@@ -119,7 +123,7 @@ sub handler {
while (my($key, $file) = each %Apache::Reload::INCS) {
next unless defined $file;
next if @watch_dirs && !grep { $file =~ /^$_/ } @watch_dirs;
- warn "Apache::Reload: Checking mtime of $key\n" if $DEBUG;
+ warn "Apache::Reload: Checking mtime of $key\n" if $trlev >= $TRLEV{debug};
my $mtime = (stat $file)[9];
@@ -150,7 +154,7 @@ sub handler {
unless $ConstantRedefineWarnings;
require $key;
warn("Apache::Reload: process $$ reloading $key\n")
- if $DEBUG;
+ if $trlev >= $TRLEV{info};
}
$Stat{$file} = $mtime;
}Reload.pod patch:
--- Reload.pod.orig 2004-06-01 14:23:28.675715952 +0200 +++ Reload.pod.new 2004-06-01 14:23:23.339527176 +0200 @@ -18,7 +18,7 @@ PerlInitHandler Apache::Reload PerlSetVar ReloadAll Off PerlSetVar ReloadModules "ModPerl::* Apache::*" - #PerlSetVar ReloadDebug On + #PerlSetVar ReloadTrace Info #PerlSetVar ReloadConstantRedefineWarnings Off
# Reload a single module from within itself: @@ -183,9 +183,19 @@ =head1 Debug
If you aren't sure whether the modules that are supposed to be -reloaded, are actually getting reloaded, turn the debug mode on: +reloaded, are actually getting reloaded, set the C<ReloadTrace> +variable:
- PerlSetVar ReloadDebug On + PerlSetVar ReloadTrace Info + +To further increase the log output, e.g. showing information about +the files that are checked for reloading: + + PerlSetVar ReloadTrace Debug + +The C<ReloadDebug> variable used in C<Apache::Reload> v0.09 and +earlier is still supported for backward compatibility but usage +is discouraged. It will probably be removed in the future.
=head1 Silencing 'Constant subroutine ... redefined at' Warnings
Thanks.
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
