package DXDebug;
use 5.10.1;
+use warnings;
require Exporter;
@ISA = qw(Exporter);
-@EXPORT = qw(dbginit dbg dbgadd dbgsub dbglist dbgdump isdbg dbgclose dbgtrace confess croak cluck carp);
+@EXPORT = qw(dbginit dbg dbgadd dbgsub dbglist dbgdump isdbg dbgclose dbgtrace dbgprintring dbgsetcat confess croak cluck carp);
use strict;
use vars qw(%dbglevel $fp $callback $cleandays $keepdays $dbgringlth);
exit(-1);
}
sub carp {
- DXDebug::dbgprintring(25) if DXDebug('nologchan');
+ DXDebug::dbgprintring(5) if DXDebug::isdbg('nologchan');
# DXDebug::dbg(Carp::shortmess(\@_));
DXDebug::longmess(\@_);
}
sub cluck {
- DXDebug::dbgprintring(25) if DXDebug('nologchan');
+ DXDebug::dbgprintring(5) if DXDebug::isdbg('nologchan');
# DXDebug::dbg(Carp::longmess(\@_));
DXDebug::longmess(\@_);
} );
last if $pkg =~ /Mojo/;
# say "*** in dbgtrace $i after mojo";
$_isdbg = 'trace';
- dbg("Stack ($i): $pkg::$subr in $fn line: $l");
+ dbg("Stack ($i): ${pkg}::$subr in $fn line: $l");
}
$_isdbg = '';
}
sub dbginit
{
+ my $basename = shift || 'debug';
$callback = shift;
# add sig{__DIE__} handling
}
}
- $fp = DXLog::new('debug', 'dat', 'd');
+ $fp = DXLog::new($basename, 'dat', 'd');
dbgclearring();
}
}
}
+# force a category for the next (unconditional) dbg message (replace (*) with (<something>))
+sub dbgsetcat
+{
+ $_isdbg = shift;
+}
+
1;
__END__