add auto reopen and general tidy up
[dweather.git] / SMGLog.pm
index ddff2502bb0ac066b12aa2e1811c95d401fe7621..d52d9b3f57ec65e244a64d66cb15a4891fe585fe 100644 (file)
--- a/SMGLog.pm
+++ b/SMGLog.pm
@@ -88,7 +88,7 @@ sub open
        $self->{fn} = sprintf "$self->{prefix}/$year/%02d%02d", $month, $day;
        $self->{fn} .= ".$self->{suffix}" if $self->{suffix};
        
-       $self->{mode} = $mode || 'r';
+       $self->{mode} = $mode || 'a+';
        
        my $fh = new IO::File $self->{fn}, $mode, 0666;
        return unless $fh;
@@ -125,7 +125,7 @@ sub write
 {
        my ($self, $dayno, $line) = @_;
        if (!$self->{fh} || $self->{mode} ne "r" || $dayno != $self->{dayno}) {
-               $self->open($dayno, ">>") or confess "can't open $self->{fn} $!";
+               $self->open($dayno, "a+") or confess "can't open $self->{fn} $!";
        }
 
        return $self->{fh}->print("$line\n");