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 vars qw(%dbglevel $dbgfh);
+use vars qw(%dbglevel $fp);
use FileHandle;
use DXUtil;
+use DXLog ();
+use Carp;
%dbglevel = ();
-$dbgfh = "";
-
-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);
-}
+$fp = DXLog::new('debug', 'dat', 'd');
sub dbg
{
- my $l = shift;
- if ($dbglevel{$l}) {
- print @_;
- print $dbgfh atime, @_ if $dbgfh;
- }
+ my $l = shift;
+ if ($dbglevel{$l}) {
+ for (@_) {
+ s/\n$//og;
+ s/\a//og; # beeps
+ }
+ print "@_\n" if defined \*STDOUT;
+ my $t = time;
+ $fp->writeunix($t, "$t^@_");
+ }
}
sub dbgadd
{
- my $entry;
-
- foreach $entry (@_) {
- $dbglevel{$entry} = 1;
- }
+ my $entry;
+
+ foreach $entry (@_) {
+ $dbglevel{$entry} = 1;
+ }
}
sub dbgsub
{
- my $entry;
-
- foreach $entry (@_) {
- delete $dbglevel{entry};
- }
+ my $entry;
+
+ foreach $entry (@_) {
+ delete $dbglevel{$entry};
+ }
}
sub dbglist
{
- return keys (%dbglevel);
+ return keys (%dbglevel);
}
sub isdbg
{
- return $dbglevel{shift};
+ my $s = shift;
+ return $dbglevel{$s};
}
1;
__END__