Author: sparky
Date: Mon Jul 12 01:24:28 2010
New Revision: 11651

Modified:
   toys/rsget.pl/RSGet/Line.pm
Log:
- added file logging and logfile setting


Modified: toys/rsget.pl/RSGet/Line.pm
==============================================================================
--- toys/rsget.pl/RSGet/Line.pm (original)
+++ toys/rsget.pl/RSGet/Line.pm Mon Jul 12 01:24:28 2010
@@ -10,6 +10,12 @@
 use RSGet::Tools;
 set_rev qq$Id$;
 
+def_settings(
+       logfile => {
+               desc => "Select log file, empty value disables logging.",
+               type => "PATH",
+       },
+);
 my $term_size_columns;
 my $term_size_rows;
 
@@ -33,6 +39,7 @@
 our @dead;
 our $dead_change = 0;
 our %status;
+my $log_fh;
 my $last_line = 0;
 
 my $last_day = -1;
@@ -60,6 +67,8 @@
        }
 
        print @print unless $nooutput;
+       print $log_fh join "\n", @newdead, ''
+               if $log_fh;
        if ( @newdead ) {
                push @dead, @newdead;
                $dead_change++;
@@ -196,11 +205,21 @@
        hadd( \%status, @_ );
 }
 
+END {
+       close $log_fh if $log_fh;
+}
+
 sub init
 {
        $nooutput = shift;
        $| = 1;
 
+       if ( my $file = setting( "logfile" ) ) {
+               $log_fh = undef;
+               open $log_fh, ">>", $file
+                       or die "Cannot open log file $file: $!\n";
+       }
+
        $SIG{__WARN__} = sub {
                new RSGet::Line( "WARNING: ", shift );
                update();
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to