File logwatch-parse_rsyslog_timestamps.patch of Package logwatch

---
 scripts/shared/applystddate |    5 +++++
 1 file changed, 5 insertions(+)

Index: scripts/shared/applystddate
===================================================================
--- scripts/shared/applystddate.orig	2010-05-01 04:34:09.000000000 +0200
+++ scripts/shared/applystddate	2013-06-17 12:52:20.949898694 +0200
@@ -23,6 +23,7 @@ use Logwatch ':dates';
 my $Debug = $ENV{'LOGWATCH_DEBUG'} || 0;
 
 $SearchDate = TimeFilter('%b %e %H:%M:%S');
+$SearchDateRsyslog = TimeFilter('%Y-%m-%dT%H:%M:%S\.[0-9]+[+-][0-9]{2}:[0-9]{2}');
 
 # The date might be "Dec 09", but it needs to be "Dec  9"...
 #$SearchDate =~ s/ 0/  /;
@@ -30,11 +31,15 @@ $SearchDate = TimeFilter('%b %e %H:%M:%S
 if ( $Debug > 5 ) {
    print STDERR "DEBUG: Inside ApplyStdDate...\n";
    print STDERR "DEBUG: Looking For: " . $SearchDate . "\n";
+   print STDERR "DEBUG: Looking For: " . $SearchDateRsyslog . "\n";
 }
 
 while (defined($ThisLine = <STDIN>)) {
    if ($ThisLine =~ m/^$SearchDate /o) {
       print $ThisLine;
+   } elsif ($ThisLine =~ /^$SearchDateRsyslog /o) {
+      $ThisLine =~ s/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})\.[0-9]+[+-][0-9]{2}:[0-9]{2} //o;
+      print POSIX::strftime("%b %e %H:%M:%S", $6, $5, $4, $3+1, $2-1, $1 - 1900) . " " . $ThisLine;
    } elsif ($ThisLine =~ m/(Mon|Tue|Wed|Thu|Fri|Sat|Sun) $SearchDate \d{4}/o) {
       print $ThisLine;
    }
openSUSE Build Service is sponsored by