Elukey has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/364956 )
Change subject: eventlogging_cleaner.py: split logs between stdout/stderr$ ...................................................................... eventlogging_cleaner.py: split logs between stdout/stderr$ Separate the logging levels to redirect ERRORs only to stderr.$ The script will probably run as cron and it will be easier$ with the new configuration to get email notifications.$ Bug: T156933$ Change-Id: Ib78c09992181b6d95a0c90c7168b50fb7edb8215 --- M modules/role/files/mariadb/eventlogging_cleaner.py 1 file changed, 19 insertions(+), 16 deletions(-) Approvals: Elukey: Looks good to me, approved jenkins-bot: Verified diff --git a/modules/role/files/mariadb/eventlogging_cleaner.py b/modules/role/files/mariadb/eventlogging_cleaner.py index 4baf78b..a94f9cf 100644 --- a/modules/role/files/mariadb/eventlogging_cleaner.py +++ b/modules/role/files/mariadb/eventlogging_cleaner.py @@ -60,6 +60,15 @@ log = logging.getLogger(__name__) +class MaxLevelFilter(logging.Filter): + + def __init__(self, level): + self.level = level + + def filter(self, record): + return record.levelno < self.level + + class Database(object): def __init__(self, db_host, db_name, db_user, db_password=None, @@ -402,9 +411,6 @@ ' (default: 91)') parser.add_argument('--dry-run', dest='dry_run', action='store_true', help='Only print sql commands without executing them') - parser.add_argument('--logfile', dest='logfile', default=None, - help='Redirect the script\'s output to a file rather ' - 'than stdout') parser.add_argument('--batch-size', dest='batch_size', default=1000, type=int, help='Maximum number of DB rows to update/delete in one go.' ' (default: 1000)') @@ -419,20 +425,17 @@ 'option is preferred). Default: /etc/my.cnf') args = parser.parse_args() - log_format = ('%(levelname)s: line %(lineno)d: %(message)s') + log_format = logging.Formatter('%(levelname)s: line %(lineno)d: %(message)s') + stdout_h = logging.StreamHandler(sys.stdout) + stdout_h.addFilter(MaxLevelFilter(logging.WARNING)) + stdout_h.setFormatter(log_format) - if args.logfile: - logging.basicConfig( - filename=args.logfile, - level=logging.INFO, - format=log_format - ) - else: - logging.basicConfig( - stream=sys.stdout, - level=logging.INFO, - format=log_format - ) + stderr_h = logging.StreamHandler(sys.stderr) + stderr_h.setLevel(logging.ERROR) + stderr_h.setFormatter(log_format) + + log.addHandler(stdout_h) + log.addHandler(stderr_h) # Args basic checks if args.no_whitelist and args.whitelist: -- To view, visit https://gerrit.wikimedia.org/r/364956 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib78c09992181b6d95a0c90c7168b50fb7edb8215 Gerrit-PatchSet: 2 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Elukey <ltosc...@wikimedia.org> Gerrit-Reviewer: Elukey <ltosc...@wikimedia.org> Gerrit-Reviewer: Mforns <mfo...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits