X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXDebug.pm;h=416dea0a9e79caadb7e923c2e2d2585b5ca04f09;hb=9e5520826fe61fd3ac6941f2b8bf736a432eaa15;hp=14f8dbd2a06ad753c559d3ed9c2cb56a52d8045b;hpb=6624dcdf07d628e8d6a16fc6549edf40be25b7b2;p=spider.git diff --git a/perl/DXDebug.pm b/perl/DXDebug.pm index 14f8dbd2..416dea0a 100644 --- a/perl/DXDebug.pm +++ b/perl/DXDebug.pm @@ -14,7 +14,7 @@ require Exporter; @EXPORT = qw(dbginit dbg dbgadd dbgsub dbglist dbgdump isdbg dbgclose confess croak cluck); use strict; -use vars qw(%dbglevel $fp $callback); +use vars qw(%dbglevel $fp $callback $cleandays $keepdays); use DXUtil; use DXLog (); @@ -23,6 +23,14 @@ use Carp (); %dbglevel = (); $fp = undef; $callback = undef; +$keepdays = 10; +$cleandays = 100; + +use vars qw($VERSION $BRANCH); +$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); +$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); +$main::build += $VERSION; +$main::branch += $BRANCH; # Avoid generating "subroutine redefined" warnings with the following # hack (from CGI::Carp): @@ -160,6 +168,24 @@ sub longmess return Carp::longmess(@_); } +# clean out old debug files, stop when you get a gap of more than a month +sub dbgclean +{ + my $date = $fp->unixtoj($main::systime)->sub($keepdays+1); + my $i = 0; + + while ($i < 31) { + my $fn = $fp->_genfn($date); + if (-e $fn) { + unlink $fn; + $i = 0; + } else { + $i++; + } + $date = $date->sub(1); + } +} + 1; __END__