X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2FDXLog.pm;h=8e2fc66febaa2021d06fa641bc8771cace0d9708;hb=3ba4a53a0fae7b6135ee9b8cd0ab4bbe352b4bdc;hp=c699413717534370ae4ab60536f75b1b8427931a;hpb=cce161221036760959ff1d0b7628a55942bf558a;p=spider.git diff --git a/perl/DXLog.pm b/perl/DXLog.pm index c6994137..8e2fc66f 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; @@ -66,9 +66,6 @@ sub open if (defined $mode) { my $dir = "$self->{prefix}/$year"; mkdir($dir, 0777) if ! -e $dir; - $self->{mode} = $mode; - } else { - delete $self->{mode}; } $self->{fn} = sprintf "$self->{prefix}/$year/%02d", $thing if $self->{'sort'} eq 'm'; @@ -76,7 +73,9 @@ sub open $self->{fn} .= ".$self->{suffix}" if $self->{suffix}; $mode = 'r' if !$mode; - my $fh = new FileHandle $self->{fn}, $mode; + $self->{mode} = $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; @@ -163,7 +162,6 @@ sub close my $self = shift; undef $self->{fh}; # close the filehandle delete $self->{fh}; - delete $self->{mode}; } # log something in the system log @@ -176,10 +174,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;