report file_size result in log
[cloudstore.git] / lib / WarnColor.pm
index cdcf14d..2522d74 100644 (file)
@@ -20,22 +20,30 @@ sub BEGIN {
 
                my ( $ss,$mm,$hh, $d,$m,$yyyy ) = localtime(time());
                $yyyy += 1900;
-               $mm   += 1;
+               $m    += 1;
 
                $log .= sprintf("%04d-%02d-%02d.", $yyyy, $m, $d );
 
                $log .= $ENV{NAME}  ? $ENV{NAME} : $1 if $0 =~ m{([^/]+)$};
 
-               my $line = sprintf("%04d-%02d-%02d %02d:%02d:%02d %s\n", $yyyy,$m,$d, $hh,$mm,$ss, join(' ',@_));
+               my $line = join(' ', @_);
+               if ( $line =~ s{^(?:\e\[\d+m)*(\d\d\d\d)\W(\d\d)\W(\d\d) (\d\d:\d\d:\d\d)}{$1-$2-$3 $4} ) {
+                       # have timestamp allready
+               } else {
+                       my $time = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $yyyy,$m,$d, $hh,$mm,$ss);
+                       $line = "$time $line";
+               }
+
                $line =~ s/[\r\n]+$/\n/;
 
                print STDERR "creating $log\n" unless -e $log;
 
-               open(my $fh, '>>', $log);
-               print $fh $line;
-               close $fh;
-
-               print STDERR $line; # XXX debug
+               if ( open(my $fh, '>>', $log) ) {
+                       print $fh $line;
+                       close $fh;
+               } else {
+                       print STDERR $line;
+               }
        }
 
 if ( -t STDOUT ) { # colorize only if run from terminal !