]> granicus.if.org Git - pgbadger/commitdiff
Add possibility to get log from stdin (issue #13) - Tonis Kevvai
authorDarold <gilles@darold.net>
Tue, 3 Jul 2012 21:20:21 +0000 (23:20 +0200)
committerDarold <gilles@darold.net>
Tue, 3 Jul 2012 21:20:21 +0000 (23:20 +0200)
README
doc/pgBadger.pod
pgbadger

diff --git a/README b/README
index 5dffe27694473093994eb97d74f2bd8a8f2b0b41..0f2c3808940339204af928e15300172b8a874f93 100644 (file)
--- a/README
+++ b/README
@@ -8,8 +8,9 @@ SYNOPSIS
 
     Arguments:
 
-      logfile can be a single log file, a list of files, or a shell command
-      returning a list of file.
+        logfile can be a single log file, a list of files, or a shell command
+        returning a list of file. If you want to pass log content from stdin
+        use - as filename.
 
     Options:
 
@@ -17,7 +18,7 @@ SYNOPSIS
                                  be a plain text log or a gzip compressed file
                                  with the .gz extension. Note that this option is
                                  DEPRECATED: set logfile as a command line argument
-                                 instead.
+                                 instead. To use stdin set it to character -.
         -f | --format logtype  : possible values: syslog,stderr,csv. Default: stderr
         -o | --outfile filename: define the filename for the output. Default depends
                                  on the output format: out.html or out.txt. To dump
@@ -62,6 +63,7 @@ SYNOPSIS
             pgbadger -p -g /var/log/postgresql/postgresql-2012-05-*
             pgbadger -p -g --exclude-query="^(COPY|COMMIT)" /var/log/postgresql.log
             pgbadger -p -g -b "2012-06-25 10:56:11" -e "2012-06-25 10:59:11" /var/log/postgresql.log
+            cat /var/log/postgres.log | pgbadger -g -p -
 
     Reporting errors every week by cron job:
 
index cc7eebd026fd41506178fdcd989b941d40409ba5..3cc9c330f24c0a17f4a64cf2b2b3eff875e3f2e6 100644 (file)
@@ -10,8 +10,10 @@ pgbadger [options] logfile [...]
 
 Arguments:
 
-  logfile can be a single log file, a list of files, or a shell command
-  returning a list of file.
+    logfile can be a single log file, a list of files, or a shell command
+    returning a list of file. If you want to pass log content from stdin
+    use - as filename.
+
 
 Options:
 
@@ -19,7 +21,7 @@ Options:
                              be a plain text log or a gzip compressed file
                              with the .gz extension. Note that this option is
                              DEPRECATED: set logfile as a command line argument
-                             instead.
+                             instead. To use stdin set it to character -.
     -f | --format logtype  : possible values: syslog,stderr,csv. Default: stderr
     -o | --outfile filename: define the filename for the output. Default depends
                              on the output format: out.html or out.txt. To dump
@@ -64,6 +66,7 @@ Examples:
         pgbadger -p -g /var/log/postgresql/postgresql-2012-05-*
         pgbadger -p -g --exclude-query="^(COPY|COMMIT)" /var/log/postgresql.log
         pgbadger -p -g -b "2012-06-25 10:56:11" -e "2012-06-25 10:59:11" /var/log/postgresql.log
+       cat /var/log/postgres.log | pgbadger -g -p -
 
 
 Reporting errors every week by cron job:
index 707c839383ead41a7eb9c54de19947a2ffa5a977..c07f74574dc2f5eec3bd327a53359f50cc2f1d70 100755 (executable)
--- a/pgbadger
+++ b/pgbadger
@@ -140,13 +140,17 @@ if ($ver) {
 # of log file to parse.
 if (!$logfile && ($#ARGV >= 0)) {
        foreach my $file (@ARGV) {
-               die "FATAL: logfile $file must exist!\n" if (!-f $file);
-               next if (-z $file);
+               if ($file ne '-') {
+                       die "FATAL: logfile $file must exist!\n" if (!-f $file);
+                       next if (-z $file);
+               }
                push(@log_files, $file);
        }
 } elsif ($logfile) {
-       die "FATAL: logfile $logfile must exist!\n" if (!-f $logfile);
-       die "FATAL: logfile $logfile is empty!\n" if (-z $logfile);
+       if (!$logfile ne '-') {
+               die "FATAL: logfile $logfile must exist!\n" if (!-f $logfile);
+               die "FATAL: logfile $logfile is empty!\n" if (-z $logfile);
+       }
        push(@log_files, $logfile);
 }
 
@@ -508,7 +512,8 @@ Usage: pgbadger [options] logfile [...]
 Arguments:
 
     logfile can be a single log file, a list of files or a shell command 
-    returning a list of file.
+    returning a list of file. If you want to pass log content from stdin
+    use - as filename.
 
 Options:
 
@@ -516,7 +521,7 @@ Options:
                             be a plain text log or a gzip compressed file
                             with the .gz extension. Note that this option is
                             DEPRECATED, set logfile as a command line argument
-                            instead.
+                            instead. To use stdin set it to character -.
     -f | --format logtype  : possible values: syslog,stderr,csv. Default: stderr
     -o | --outfile filename: define the filename for the output. Default depends
                             of the output format: out.html or out.txt. To dump
@@ -561,6 +566,7 @@ Examples:
                       /var/log/postgres.log
        pgbadger -p -g /var/log/postgresql/postgresql-2012-05-*
        pgbadger -p -g --exclude-query="^(COPY|COMMIT)" /var/log/postgresql.log
+       cat /var/log/postgres.log | pgbadger -g -p -
 
 Reporting errors every week by cron job: