]> granicus.if.org Git - pgbadger/commitdiff
Add -O | --outdir path to specify the directory where out file must be saved.
authorDarold Gilles <gilles@darold.net>
Thu, 26 Dec 2013 09:39:15 +0000 (10:39 +0100)
committerDarold Gilles <gilles@darold.net>
Thu, 26 Dec 2013 09:39:15 +0000 (10:39 +0100)
README
doc/pgBadger.pod
pgbadger

diff --git a/README b/README
index e7825475c6e71551400e048a3e46b65d17708c9a..6447d0aa2ea3ea0500b60bceb0587bb2ffd09188 100644 (file)
--- a/README
+++ b/README
@@ -40,6 +40,7 @@ SYNOPSIS
         -o | --outfile filename: define the filename for output. Default depends on
                                  the output format: out.html, out.txt or out.tsung.
                                  To dump output to stdout use - as filename.
+        -O | --outdir path     : directory where out file must be saved.
         -p | --prefix string   : give here the value of your custom log_line_prefix
                                  defined in your postgresql.conf. Only use it if you
                                  aren't using one of the standard prefixes specified
index 0dd77dcc949aed581214b090081b72527a154153..f7b205c9211118ac2274c70dec86712101365945 100644 (file)
@@ -42,6 +42,7 @@ Options:
     -o | --outfile filename: define the filename for output. Default depends on
                              the output format: out.html, out.txt or out.tsung.
                              To dump output to stdout use - as filename.
+    -O | --outdir path     : directory where out file must be saved.
     -p | --prefix string   : give here the value of your custom log_line_prefix
                              defined in your postgresql.conf. Only use it if you
                              aren't using one of the standard prefixes specified
index 7bd67ffdb334debefc600fc093e735d10f952e09..9a76d9c28d8d0905702d0a6f76661df85bbfccdc 100755 (executable)
--- a/pgbadger
+++ b/pgbadger
@@ -220,6 +220,7 @@ my $result = GetOptions(
        "N|appname=s"              => \@dbappname,
        "n|nohighlight!"           => \$nohighlight,
        "o|outfile=s"              => \$outfile,
+       "O|outdir=s"               => \$outdir,
        "p|prefix=s"               => \$log_line_prefix,
        "P|no-prettify!"           => \$noprettify,
        "q|quiet!"                 => \$quiet,
@@ -358,8 +359,17 @@ $img_format = 'png' if ($img_format ne 'jpeg');
 
 # Extract the output directory from outfile so that graphs will
 # be created in the same directory
-my @infs = fileparse($outfile);
-$outdir = $infs[1] . '/';
+if ($outfile ne '-') {
+       if (!$outdir) {
+               my @infs = fileparse($outfile);
+               $outdir = $infs[1];
+       } elsif (!-d "$outdir") {
+               # An output directory have been passed as command line parameter
+               die "FATAL: $outdir is not a directory or doesn't exist.\n";
+       }
+       $outfile = basename($outfile);
+       $outfile = $outdir . '/' . $outfile;
+}
 
 # Remove graph support if output is not html
 $graph = 0 unless ($extension eq 'html' or $extension eq 'binary' );
@@ -915,6 +925,7 @@ Options:
     -o | --outfile filename: define the filename for the output. Default depends
                              on the output format: out.html, out.txt or out.tsung.
                              To dump output to stdout use - as filename.
+    -O | --outdir path     : directory where out file must be saved.
     -p | --prefix string   : give here the value of your custom log_line_prefix
                              defined in your postgresql.conf. Only use it if you
                              aren't using one of the standard prefixes specified