From 3fe803ee752c39bd51dabc37fc318df52f410ed4 Mon Sep 17 00:00:00 2001 From: Kamil Páral Date: Jan 29 2021 14:58:50 +0000 Subject: [PATCH 1/2] cli: add --debug option Fixes: https://pagure.io/fedora-qa/blockerbugs/issue/166 --- diff --git a/blockerbugs/__init__.py b/blockerbugs/__init__.py index 0e4947a..7688d78 100644 --- a/blockerbugs/__init__.py +++ b/blockerbugs/__init__.py @@ -4,7 +4,6 @@ from flask_sqlalchemy import SQLAlchemy import logging import logging.handlers import os -import sys from . import config @@ -71,41 +70,42 @@ if app.config["BEHIND_PROXY"]: from werkzeug.contrib.fixers import ProxyFix app.wsgi_app = ProxyFix(app.wsgi_app, num_proxies=1) -# setup logging -fmt = '[%(filename)s:%(lineno)d] ' if app.debug else '%(module)-12s ' -fmt += '%(asctime)s %(levelname)-7s %(message)s' -datefmt = '%Y-%m-%d %H:%M:%S' -loglevel = logging.DEBUG if app.debug else logging.INFO -formatter = logging.Formatter(fmt=fmt, datefmt=datefmt) - def setup_logging(): + fmt = '[%(filename)s:%(lineno)d] ' if app.debug else '%(module)-12s ' + fmt += '%(asctime)s %(levelname)-7s %(message)s' + datefmt = '%Y-%m-%d %H:%M:%S' + loglevel = logging.DEBUG if app.debug else logging.INFO + formatter = logging.Formatter(fmt=fmt, datefmt=datefmt) + root_logger = logging.getLogger('') root_logger.setLevel(logging.DEBUG) root_logger.handlers.clear() app.logger.handlers.clear() if app.config['STREAM_LOGGING']: - app.logger.debug("doing stream logging") stream_handler = logging.StreamHandler() stream_handler.setLevel(loglevel) stream_handler.setFormatter(formatter) root_logger.addHandler(stream_handler) + app.logger.debug("doing stream logging") if app.config['SYSLOG_LOGGING']: - app.logger.debug("doing syslog logging") syslog_handler = logging.handlers.SysLogHandler( address='/dev/log', facility=logging.handlers.SysLogHandler.LOG_LOCAL4) syslog_handler.setLevel(loglevel) syslog_handler.setFormatter(formatter) root_logger.addHandler(syslog_handler) + app.logger.debug("doing syslog logging") if app.config['FILE_LOGGING'] and app.config['LOGFILE']: - app.logger.debug("doing file logging to %s" % app.config['LOGFILE']) - file_handler = logging.handlers.RotatingFileHandler(app.config['LOGFILE'], maxBytes=500000, backupCount=5) + file_handler = logging.handlers.RotatingFileHandler( + app.config['LOGFILE'], maxBytes=500000, backupCount=5) file_handler.setLevel(loglevel) file_handler.setFormatter(formatter) root_logger.addHandler(file_handler) + app.logger.debug("doing file logging to %s" % app.config['LOGFILE']) + setup_logging() diff --git a/blockerbugs/cli.py b/blockerbugs/cli.py index c1655c9..d471325 100644 --- a/blockerbugs/cli.py +++ b/blockerbugs/cli.py @@ -3,7 +3,7 @@ import os from argparse import ArgumentParser import secrets -from blockerbugs import db, app +from blockerbugs import db, app, setup_logging from blockerbugs.models.milestone import Milestone from blockerbugs.models.release import Release from blockerbugs.util.bug_sync import BugSync @@ -233,6 +233,9 @@ def close_inactive_discussions(args): def main(): parser = ArgumentParser() + parser.add_argument('--debug', action='store_true', default=False, + help='Enable debug logs') + subparsers = parser.add_subparsers(dest='command', metavar="") init_db_parser = subparsers.add_parser('init_db', help='Initialize DB') @@ -328,6 +331,10 @@ def main(): parser.print_help() sys.exit(1) + if args.debug: + app.config['DEBUG'] = True + setup_logging() + # run the requested command args.func(args) From cff0e12191624976d790b643227047c3eadef473 Mon Sep 17 00:00:00 2001 From: Kamil Páral Date: Jan 29 2021 15:44:20 +0000 Subject: [PATCH 2/2] Frantisek asks me to add more comments, what has happened to us? --- diff --git a/blockerbugs/cli.py b/blockerbugs/cli.py index d471325..9b8236e 100644 --- a/blockerbugs/cli.py +++ b/blockerbugs/cli.py @@ -333,6 +333,7 @@ def main(): if args.debug: app.config['DEBUG'] = True + # re-initialize logging with changed params setup_logging() # run the requested command