X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXDebug.pm;h=124ddfe1d73756c387468e7c27664ac1013df6ad;hb=bab2cc5b932a1b57a8a81e7e815c692169da0d6c;hp=14f8dbd2a06ad753c559d3ed9c2cb56a52d8045b;hpb=6624dcdf07d628e8d6a16fc6549edf40be25b7b2;p=spider.git diff --git a/perl/DXDebug.pm b/perl/DXDebug.pm index 14f8dbd2..124ddfe1 100644 --- a/perl/DXDebug.pm +++ b/perl/DXDebug.pm @@ -11,10 +11,10 @@ package DXDebug; require Exporter; @ISA = qw(Exporter); -@EXPORT = qw(dbginit dbg dbgadd dbgsub dbglist dbgdump isdbg dbgclose confess croak cluck); +@EXPORT = qw(dbginit dbg dbgadd dbgsub dbglist dbgdump dbglog 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,31 @@ 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); + } +} + +sub dbglog +{ + my $sort = shift; + my $l = shift; + dbg($l); + DXLog::Log($sort, $l); +} 1; __END__