]> granicus.if.org Git - pgbadger/commitdiff
Allow character : in log line prefix, it will no more break the log parsing. Thanks...
authorDarold Gilles <gilles@darold.net>
Wed, 29 Aug 2012 07:58:50 +0000 (09:58 +0200)
committerDarold Gilles <gilles@darold.net>
Wed, 29 Aug 2012 07:58:50 +0000 (09:58 +0200)
pgbadger

index 60e37668ac63240817b1b9410f74b83fb07f1dce..a198747be771bd40ce7100cfb5f86402147d748b 100755 (executable)
--- a/pgbadger
+++ b/pgbadger
@@ -501,7 +501,7 @@ foreach my $logfile (@log_files) {
                        if ($format eq 'syslog') {
 
                                if ($line =~
-                                       /^(...)\s+(\d+)\s(\d+):(\d+):(\d+)\s([^\s]+)\s([^\[]+)\[(\d+)\]:\s\[([0-9\-]+)\]\s*([^:]*?)\s*([A-Z]+?):\s+(.*)/)
+                                       /^(...)\s+(\d+)\s(\d+):(\d+):(\d+)\s([^\s]+)\s([^\[]+)\[(\d+)\]:\s\[([0-9\-]+)\]\s*(.*?)\s*(LOG|WARNING|ERROR|FATAL|PANIC|DETAIL|STATEMENT|HINT|CONTEXT):\s+(.*)/)
                                {
 
                                        # skip non postgresql lines
@@ -564,7 +564,7 @@ foreach my $logfile (@log_files) {
 
                                # Parse stderr lines
                                if ($line =~
-                                       /(\d+)-(\d+)-(\d+)\s(\d+):(\d+):(\d+)\s([^\s]+)\s\[(\d+)\]:\s\[([0-9\-]+)\]\s*([^:]*?)\s*([A-Z]+?):\s+(.*)/)
+                                       /(\d+)-(\d+)-(\d+)\s(\d+):(\d+):(\d+)\s([^\s]+)\s\[(\d+)\]:\s\[([0-9\-]+)\]\s*(.*?)\s*(LOG|WARNING|ERROR|FATAL|PANIC|DETAIL|STATEMENT|HINT|CONTEXT):\s+(.*)/)
                                {
 
                                        # Skip unwanted lines
@@ -3487,13 +3487,13 @@ sub autodetect_format
                $nline++;
 
                # Is syslog lines ?
-               if ($line =~ /^...\s+\d+\s\d+:\d+:\d+\s[^\s]+\s([^\[]+)\[\d+\]:\s\[[0-9\-]+\][^:]+:\s+$duration/) {
+               if ($line =~ /^...\s+\d+\s\d+:\d+:\d+\s[^\s]+\s([^\[]+)\[\d+\]:\s\[[0-9\-]+\](.*?)(LOG|WARNING|ERROR|FATAL|PANIC|DETAIL|STATEMENT|HINT|CONTEXT):\s+$duration/) {
                        $fmt = 'syslog';
                        $nfound++;
                        $ident_name{$1}++;
 
                        # Is stderr lines
-               } elsif ($line =~ /\d+-\d+-\d+\s\d+:\d+:\d+\s[^\s]+\s\[\d+\]:\s\[[0-9\-]+\][^:]+:\s+$duration/) {
+               } elsif ($line =~ /\d+-\d+-\d+\s\d+:\d+:\d+\s[^\s]+\s\[\d+\]:\s\[[0-9\-]+\](.*?)(LOG|WARNING|ERROR|FATAL|PANIC|DETAIL|STATEMENT|HINT|CONTEXT):\s+$duration/) {
                        $fmt = 'stderr';
                        $nfound++;
                } elsif ($line =~ tr/,/,/ >= 12) {