From df67d708db5c6ff39b7b3d1cc02e7d5deb259c18 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Thu, 12 Feb 2015 17:52:52 +0100 Subject: [PATCH] config: Add support for 'all' loglevel Equal to logging.NOTSET or 0 in the logging module. --- docs/changelog.rst | 8 +++++++- mopidy/config/types.py | 5 +++-- tests/config/test_types.py | 13 ++++++++----- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 1a9eb33d..5581bfec 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -26,6 +26,12 @@ v0.20.0 (UNRELEASED) - Make the ``mopidy`` command print a friendly error message if the :mod:`gobject` Python module cannot be imported. (Fixes: :issue:`836`) +**Configuration** + +- Add support for the log level value ``all`` to the loglevels configurations. + This can be used to show absolutely all log records, including those at + custom levels below ``DEBUG``. + **Local backend** - Add cover URL to all scanned files with MusicBrainz album IDs. (Fixes: @@ -50,7 +56,7 @@ v0.20.0 (UNRELEASED) - Enable browsing of artist references, in addition to albums and playlists. (PR: :issue:`884`) - + - Share a single mapping between names and URIs across all MPD sessions. (Fixes: :issue:`934`, PR: :issue:`968`) diff --git a/mopidy/config/types.py b/mopidy/config/types.py index bed03fa2..785ec55a 100644 --- a/mopidy/config/types.py +++ b/mopidy/config/types.py @@ -200,8 +200,8 @@ class List(ConfigValue): class LogLevel(ConfigValue): """Log level value. - Expects one of ``critical``, ``error``, ``warning``, ``info``, ``debug`` - with any casing. + Expects one of ``critical``, ``error``, ``warning``, ``info``, ``debug``, + or ``all``, with any casing. """ levels = { b'critical': logging.CRITICAL, @@ -209,6 +209,7 @@ class LogLevel(ConfigValue): b'warning': logging.WARNING, b'info': logging.INFO, b'debug': logging.DEBUG, + b'all': logging.NOTSET, } def deserialize(self, value): diff --git a/tests/config/test_types.py b/tests/config/test_types.py index 939d028b..365fa9e0 100644 --- a/tests/config/test_types.py +++ b/tests/config/test_types.py @@ -281,11 +281,14 @@ class ListTest(unittest.TestCase): class LogLevelTest(unittest.TestCase): - levels = {'critical': logging.CRITICAL, - 'error': logging.ERROR, - 'warning': logging.WARNING, - 'info': logging.INFO, - 'debug': logging.DEBUG} + levels = { + 'critical': logging.CRITICAL, + 'error': logging.ERROR, + 'warning': logging.WARNING, + 'info': logging.INFO, + 'debug': logging.DEBUG, + 'all': logging.NOTSET, + } def test_deserialize_conversion_success(self): value = types.LogLevel()