diff options
author | Alexander Zielke <vulture@clutterbox.de> | 2018-04-17 16:25:56 +0200 |
---|---|---|
committer | Alexander Zielke <vulture@clutterbox.de> | 2018-04-17 16:25:56 +0200 |
commit | c399a5b76cc8969a2bf12556110462092117194a (patch) | |
tree | 96bd12fbf57f9dfced00a8727366439b1cd35abb /utils/rspamd_stats.pl | |
parent | d4216edbf2af2d8347e5669dc73dd019a6ca95d0 (diff) | |
download | rspamd-c399a5b76cc8969a2bf12556110462092117194a.tar.gz rspamd-c399a5b76cc8969a2bf12556110462092117194a.zip |
Parse RFC5424 style timestamps
Diffstat (limited to 'utils/rspamd_stats.pl')
-rwxr-xr-x | utils/rspamd_stats.pl | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/utils/rspamd_stats.pl b/utils/rspamd_stats.pl index 3a8affce1..98d80af4a 100755 --- a/utils/rspamd_stats.pl +++ b/utils/rspamd_stats.pl @@ -411,7 +411,6 @@ sub ProcessRelated { sub ProcessLog { my ( $ts_format, @line ) = &log_time_format($rspamd_log); - my $is_syslog = defined $ts_format && $ts_format eq 'syslog'; while() { last if eof $rspamd_log; @@ -425,10 +424,15 @@ sub ProcessLog { if (/^.*rspamd_task_write_log.*$/) { &spinner; - my $ts = - ($is_syslog) - ? syslog2iso( join ' ', ( split /\s+/ )[ 0 .. 2 ] ) - : join ' ', ( split /\s+/ )[ 0 .. 1 ]; + my $ts; + if ( $ts_format eq 'syslog' ) { + $ts = syslog2iso( join ' ', ( split /\s+/ )[ 0 .. 2 ] ); + } elsif ( $ts_format eq 'syslog5424' ) { + /^([0-9-]+)T([0-9:]+)/; + $ts = "$1 $2"; + } else { + $ts = join ' ', ( split /\s+/ )[ 0 .. 1 ]; + } next if ( $ts lt $startTime ); next if ( defined $endTime && $ts gt $endTime ); @@ -663,6 +667,12 @@ sub log_time_format { last; } + # 2018-04-16T06:25:46.012590+02:00 rspamd rspamd[12968] + elsif(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,6})?(Z|[-+]\d{2}:\d{2}) \S+ rspamd\[\d+\]/) { + $format = 'syslog5424'; + last; + } + # Skip newsyslog messages # Aug 8 00:00:00 hostname newsyslog[63284]: logfile turned over elsif ( /^\w{3} (?:\s?\d|\d\d) \d\d:\d\d:\d\d\ \S+ newsyslog\[\d+\]: logfile turned over$/ ) { |