darold / pgbadger

A fast PostgreSQL Log Analyzer
http://pgbadger.darold.net/
PostgreSQL License
3.49k stars 349 forks source link

Feature Request #742

Closed rdnkrkmz closed 2 years ago

rdnkrkmz commented 2 years ago

Version 11.8, We use "--exclude-appname" to exclude some apps in our report. But application sends its name with script file name which SQL is executed it, as shown in below examples. So with the current pgbadger version, we have to write all of possible application versions and script names to be able to exclude a single application in report.

So, is it possible to use an expression (like regex) to exclude appname in report?

I have examined the perl code, but I realised that it requires bigger code refactoring.

 --exclude-appname 'DBeaver 21.0.3 - Main <dbname>'             \
 --exclude-appname 'DBeaver 21.0.3 - Metadata <dbname>'         \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-1.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-2.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-3.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-4.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-5.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-6.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-7.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-8.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-9.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-10.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-11.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-12.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-13.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-14.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-15.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-16.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-17.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-18.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-19.sql>'  \
 --exclude-appname 'DBeaver 21.0.3 - SQLEditor <Script-20.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - Main <dbname>'             \
 --exclude-appname 'DBeaver 21.1.0 - Metadata <dbname>'         \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-1.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-2.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-3.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-4.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-5.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-6.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-7.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-8.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-9.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-10.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-11.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-12.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-13.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-14.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-15.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-16.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-17.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-18.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-19.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-20.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - Main <dbname>'             \
 --exclude-appname 'DBeaver 21.1.3 - Metadata <dbname>'         \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-1.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-2.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-3.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-4.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-5.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-6.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-7.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-8.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-9.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-10.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-11.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-12.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-13.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-14.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-15.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-16.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-17.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-18.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-19.sql>'  \
 --exclude-appname 'DBeaver 21.1.3 - SQLEditor <Script-20.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - Main <dbname>'             \
 --exclude-appname 'DBeaver 21.3.1 - Metadata <dbname>'         \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-1.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-2.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-3.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-4.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-5.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-6.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-7.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-8.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-9.sql>'  \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-10.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-11.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-12.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-13.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-14.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-15.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-16.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-17.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-18.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-19.sql>' \
 --exclude-appname 'DBeaver 21.3.1 - SQLEditor <Script-20.sql>'   \
 --exclude-appname 'DBeaver 21.3.2 - Main <dbname>'             \
 --exclude-appname 'DBeaver 21.3.2 - Metadata <dbname>'         \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-1.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-2.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-3.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-4.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-5.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-6.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-7.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-8.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-9.sql>'  \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-10.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-11.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-12.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-13.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-14.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-15.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-16.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-17.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-18.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-19.sql>' \
 --exclude-appname 'DBeaver 21.3.2 - SQLEditor <Script-20.sql>'   \
 --exclude-appname 'DBeaver 22.1.0 - Main <dbname>'             \
 --exclude-appname 'DBeaver 22.1.0 - Metadata <dbname>'         \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-1.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-2.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-3.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-4.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-5.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-6.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-7.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-8.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-9.sql>'  \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-10.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-11.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-12.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-13.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-14.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-15.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-16.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-17.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-18.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-19.sql>' \
 --exclude-appname 'DBeaver 22.1.0 - SQLEditor <Script-20.sql>'   \
 --exclude-appname 'DBeaver 21.1.0 - Main <dbname>'             \
 --exclude-appname 'DBeaver 21.1.0 - Metadata <dbname>'         \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-1.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-2.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-3.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-4.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-5.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-6.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-7.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-8.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-9.sql>'  \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-10.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-11.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-12.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-13.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-14.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-15.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-16.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-17.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-18.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-19.sql>' \
 --exclude-appname 'DBeaver 21.1.0 - SQLEditor <Script-20.sql>' \
darold commented 2 years ago

Commit 5c47a7f allow the use of regexp for --exclude-app and --exclude-client, in your case now you can use --exclude-app="DBeaver.*"

rdnkrkmz commented 2 years ago

Thanks, works perfect. I downloaded and compiled the project, but I do not see the parameter --exclude-app in the docs or in pgbadger --help output.

darold commented 2 years ago

Sorry, this is --exclude-appname as you may already have found.