X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXLog.pm;h=80336e3e063313c57a480c10b60fc7ef66217deb;hb=86316dcf45d7cbdcd8e3f512be655242ab1701ff;hp=f089d73d0cecc28058bfd975eaf47df79d207ab5;hpb=3eb9538d135d9ff21d8ce7c0e0c6b3e6d7fb59a9;p=spider.git diff --git a/perl/DXLog.pm b/perl/DXLog.pm index f089d73d..80336e3e 100644 --- a/perl/DXLog.pm +++ b/perl/DXLog.pm @@ -29,11 +29,11 @@ require Exporter; @ISA = qw(Exporter); @EXPORT = qw(Log Logclose); -use FileHandle; +use IO::File; use DXVars; -use DXDebug (); use DXUtil; use Julian; + use Carp; use strict; @@ -53,7 +53,7 @@ sub new $ref->{'sort'} = $sort; # make sure the directory exists - mkdir($ref->{prefix}, 0777) if ! -e $ref->{prefix}; + mkdir($ref->{prefix}, 0777) unless -e $ref->{prefix}; return bless $ref; } @@ -75,7 +75,7 @@ sub open $mode = 'r' if !$mode; $self->{mode} = $mode; - my $fh = new FileHandle $self->{fn}, $mode, 0666; + my $fh = new IO::File $self->{fn}, $mode, 0666; return undef if !$fh; $fh->autoflush(1) if $mode ne 'r'; # make it autoflushing if writable $self->{fh} = $fh; @@ -83,11 +83,21 @@ sub open $self->{year} = $year; $self->{thing} = $thing; - DXDebug::dbg("dxlog", "opening $self->{fn}\n"); +# DXDebug::dbg("opening $self->{fn}\n") if isdbg("dxlog"); return $self->{fh}; } +sub mtime +{ + my ($self, $year, $thing) = @_; + + my $fn = sprintf "$self->{prefix}/$year/%02d", $thing if $self->{'sort'} eq 'm'; + $fn = sprintf "$self->{prefix}/$year/%03d", $thing if $self->{'sort'} eq 'd'; + $fn .= ".$self->{suffix}" if $self->{suffix}; + return (stat $fn)[9]; +} + # open the previous log file in sequence sub openprev {