projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added new html
[spider.git]
/
perl
/
DXDebug.pm
diff --git
a/perl/DXDebug.pm
b/perl/DXDebug.pm
index 084401ed2ac2dc24de71ba766542a9c1ce9382a6..64ed843944d7d478c4466f541933e75bca0af418 100644
(file)
--- a/
perl/DXDebug.pm
+++ b/
perl/DXDebug.pm
@@
-11,63
+11,73
@@
package DXDebug;
require Exporter;
@ISA = qw(Exporter);
require Exporter;
@ISA = qw(Exporter);
-@EXPORT = qw(dbginit dbg dbgadd dbgsub dbglist isdbg);
+@EXPORT = qw(dbg dbgadd dbgsub dbglist isdbg);
+@EXPORT_OK = qw(dbg dbgadd dbgsub dbglist isdbg);
use strict;
use strict;
-use vars qw(%dbglevel $
dbgfh
);
+use vars qw(%dbglevel $
fp
);
use FileHandle;
use DXUtil;
use FileHandle;
use DXUtil;
+use DXLog ();
use Carp;
%dbglevel = ();
use Carp;
%dbglevel = ();
-$
dbgfh = ""
;
+$
fp = DXLog::new('debug', 'dat', 'd')
;
-no strict 'refs';
-
-sub dbginit
-{
- my $fhname = shift;
- $dbgfh = new FileHandle;
- $dbgfh->open(">>$fhname") or die "can't open debug file '$fhname' $!";
- $dbgfh->autoflush(1);
+# 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
{
}
sub dbg
{
- my $l = shift;
- if ($dbglevel{$l}) {
- print @_;
- print $dbgfh atime, @_ if $dbgfh;
- }
+ my $l = shift;
+ if ($dbglevel{$l}) {
+ my @in = @_;
+ my $t = time;
+ for (@in) {
+ s/\n$//o;
+ s/\a//og; # beeps
+ print "$_\n" if defined \*STDOUT;
+ $fp->writeunix($t, "$t^$_");
+ }
+ }
}
sub dbgadd
{
}
sub dbgadd
{
- my $entry;
-
- foreach $entry (@_) {
- $dbglevel{$entry} = 1;
- }
+
my $entry;
+
+
foreach $entry (@_) {
+
$dbglevel{$entry} = 1;
+
}
}
sub dbgsub
{
}
sub dbgsub
{
- my $entry;
-
- foreach $entry (@_) {
-
delete $dbglevel{
entry};
- }
+
my $entry;
+
+
foreach $entry (@_) {
+
delete $dbglevel{$
entry};
+
}
}
sub dbglist
{
}
sub dbglist
{
- return keys (%dbglevel);
+
return keys (%dbglevel);
}
sub isdbg
{
}
sub isdbg
{
- return $dbglevel{shift};
+ my $s = shift;
+ return $dbglevel{$s};
}
1;
__END__
}
1;
__END__