X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXDebug.pm;h=821c41b44ea40791ccea40620adb642367a4d529;hb=1247daf765691411848e68517bd1bb59cdaf731f;hp=14f8dbd2a06ad753c559d3ed9c2cb56a52d8045b;hpb=6624dcdf07d628e8d6a16fc6549edf40be25b7b2;p=spider.git diff --git a/perl/DXDebug.pm b/perl/DXDebug.pm index 14f8dbd2..821c41b4 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; +$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__