If we're hashing patches we don't want to out logging information. This requires configurable log levels.
Signed-off-by: Stephen Finucane <step...@that.guru> Cc: Paul Jakma <p...@jakma.org> --- patchwork/management/commands/__init__.py | 34 +++++++++++++++++++++++++++ patchwork/management/commands/parsearchive.py | 8 ++++++- patchwork/management/commands/parsemail.py | 4 ++++ patchwork/settings/base.py | 2 +- 4 files changed, 46 insertions(+), 2 deletions(-) diff --git a/patchwork/management/commands/__init__.py b/patchwork/management/commands/__init__.py index e69de29..fa9c174 100644 --- a/patchwork/management/commands/__init__.py +++ b/patchwork/management/commands/__init__.py @@ -0,0 +1,34 @@ +# Patchwork - automated patch tracking system +# Copyright (C) 2016 Stephen Finucane <step...@that.guru> +# +# This file is part of the Patchwork package. +# +# Patchwork is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Patchwork is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Patchwork; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import logging + + +def configure_logging(loggers, verbosity): + def set_loggers(loggers, level): + for logger in loggers: + logging.getLogger(logger).setLevel(level) + + # rely on standard configuration for verbosity 1 (normal) + if verbosity == 0: + set_loggers(loggers, logging.ERROR) + elif verbosity == 1: + set_loggers(loggers, logging.INFO) + elif verbosity >= 2: + set_loggers(loggers, logging.DEBUG) diff --git a/patchwork/management/commands/parsearchive.py b/patchwork/management/commands/parsearchive.py index 40b2cc0..5f3a11a 100644 --- a/patchwork/management/commands/parsearchive.py +++ b/patchwork/management/commands/parsearchive.py @@ -26,6 +26,7 @@ import sys import django from django.core.management.base import BaseCommand +from patchwork.management.commands import configure_logging from patchwork import models from patchwork.parser import parse_mail @@ -63,6 +64,9 @@ class Command(BaseCommand): dropped = 0 errors = 0 + verbosity = int(options['verbosity']) + configure_logging(['patchwork.parser', __name__], verbosity) + # TODO(stephenfin): Support passing via stdin path = args and args[0] or options['infile'] if not os.path.exists(path): @@ -87,7 +91,9 @@ class Command(BaseCommand): # somewhere for future reference? errors += 1 - if (i % 10) == 0: + # we don't output this when using higher verbosities - logging + # provides enough information + if verbosity < 2 and (i % 10) == 0: self.stdout.write('%06d/%06d\r' % (i, count), ending='') self.stdout.flush() diff --git a/patchwork/management/commands/parsemail.py b/patchwork/management/commands/parsemail.py index 9adfb25..fd85763 100644 --- a/patchwork/management/commands/parsemail.py +++ b/patchwork/management/commands/parsemail.py @@ -27,6 +27,7 @@ from django.core.management import base from django.utils import six from patchwork.parser import parse_mail +from patchwork.management.commands import configure_logging logger = logging.getLogger(__name__) @@ -58,6 +59,9 @@ class Command(base.BaseCommand): def handle(self, *args, **options): infile = args[0] if args else options['infile'] + configure_logging(['patchwork.parser', __name__], + int(options['verbosity'])) + if infile: logger.info('Parsing mail loaded by filename') if six.PY3: diff --git a/patchwork/settings/base.py b/patchwork/settings/base.py index a32710f..d2b996b 100644 --- a/patchwork/settings/base.py +++ b/patchwork/settings/base.py @@ -185,7 +185,7 @@ LOGGING = { }, 'patchwork.parser': { 'handlers': ['console'], - 'level': 'DEBUG', + 'level': 'INFO', 'propagate': False, }, 'patchwork.management.commands': { -- 2.7.4 _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork