X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXLog.pm;h=f089d73d0cecc28058bfd975eaf47df79d207ab5;hb=3eb9538d135d9ff21d8ce7c0e0c6b3e6d7fb59a9;hp=dde723027f5b237afd735c4452eeafd1b7a42a02;hpb=9a55af9586711ecdea8dc9b0da38509119fa8090;p=spider.git diff --git a/perl/DXLog.pm b/perl/DXLog.pm index dde72302..f089d73d 100644 --- a/perl/DXLog.pm +++ b/perl/DXLog.pm @@ -27,7 +27,7 @@ package DXLog; require Exporter; @ISA = qw(Exporter); -@EXPORT = qw(Log); +@EXPORT = qw(Log Logclose); use FileHandle; use DXVars; @@ -75,7 +75,7 @@ sub open $mode = 'r' if !$mode; $self->{mode} = $mode; - my $fh = new FileHandle $self->{fn}, $mode; + my $fh = new FileHandle $self->{fn}, $mode, 0666; return undef if !$fh; $fh->autoflush(1) if $mode ne 'r'; # make it autoflushing if writable $self->{fh} = $fh; @@ -161,7 +161,14 @@ sub close { my $self = shift; undef $self->{fh}; # close the filehandle - delete $self->{fh}; + delete $self->{fh}; +} + +sub DESTROY +{ + my $self = shift; + undef $self->{fh}; # close the filehandle + delete $self->{fh} if $self->{fh}; } # log something in the system log @@ -174,10 +181,8 @@ sub Log $log->writeunix($t, join('^', $t, @_) ); } -sub DESTROY # catch undefs and do what is required further down the tree +sub Logclose { - my $self = shift; - DXDebug::dbg("dxlog", "closing $self->{fn}\n"); - undef $self->{fh} if defined $self->{fh}; -} + $log->close(); +} 1;