%dbglevel = ();
$fp = DXLog::new('debug', 'dat', 'd');
-no strict 'refs';
+# add sig{__DIE__} handling
+if (!defined $DB::VERSION) {
+ $SIG{__WARN__} = $SIG{__DIE__} = sub {
+ my $t = time;
+ for (@_) {
+ $fp->writeunix($t, "$t^$_");
+# print STDERR $_;
+ }
+ };
+}
sub dbg
{
my $l = shift;
if ($dbglevel{$l}) {
- for (@_) {
- s/\n$//og;
+ my @in = @_;
+ my $t = time;
+ for (@in) {
+ s/\n$//o;
+ s/\a//og; # beeps
+ print "$_\n" if defined \*STDOUT;
+ $fp->writeunix($t, "$t^$_");
}
- my $str = atime . "@_" ;
- print "$str\n";
- $fp->writenow($str);
}
}
my $entry;
foreach $entry (@_) {
- delete $dbglevel{entry};
+ delete $dbglevel{$entry};
}
}
sub isdbg
{
- return $dbglevel{shift};
+ my $s = shift;
+ return $dbglevel{$s};
}
1;
__END__