From 854524c7efb64d9b32b383099f5a7dfac6a5062d Mon Sep 17 00:00:00 2001 From: jMyles Date: Sat, 17 Nov 2018 11:27:53 -0800 Subject: [PATCH] Default LogLevel for tests is now 'info' --- nucypher/utilities/logging.py | 28 ++++++++++++++-------------- tests/conftest.py | 22 +++++++++++----------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/nucypher/utilities/logging.py b/nucypher/utilities/logging.py index 8e4fc9c23..c223d83b1 100644 --- a/nucypher/utilities/logging.py +++ b/nucypher/utilities/logging.py @@ -15,13 +15,13 @@ You should have received a copy of the GNU General Public License along with nucypher. If not, see . """ - import datetime import pathlib from sentry_sdk import capture_exception, add_breadcrumb from twisted.logger import FileLogObserver, jsonFileLogObserver -from twisted.python.log import ILogObserver +from twisted.logger import ILogObserver +from twisted.logger import LogLevel from twisted.python.logfile import DailyLogFile from zope.interface import provider @@ -59,21 +59,21 @@ def getTextFileObserver(): return observer -@provider(ILogObserver) -def simpleObserver(event): - message = '{level} ({source}): {message}'.format(level=event.get('log_level').name.upper(), - source=event.get('log_namespace'), - message=event.get('log_format')) - print(message) +class SimpleObserver: + + def __init__(self, log_level_name="info"): + self.log_level = LogLevel.levelWithName(log_level_name) + + @provider(ILogObserver) + def __call__(self, event): + if event['log_level'] >= self.log_level: + message = '{} ({}): {}'.format(event.get('log_level').name.upper(), + event.get('log_namespace'), + event.get('log_format')) + print(message) -@provider(ILogObserver) def logToSentry(event): - """ - Twisted observer for Sentry... - Capture tracebacks and leave a trail of breadcrumbs. - """ - # Handle Logs if not event.get('isError') or 'failure' not in event: add_breadcrumb(level=event.get('log_level').name, diff --git a/tests/conftest.py b/tests/conftest.py index 00c22d3ad..92f21fc8c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -16,16 +16,13 @@ along with nucypher. If not, see . """ import pytest -from twisted.logger import globalLogPublisher +from twisted.logger import globalLogPublisher, LogLevel from nucypher.cli import NucypherClickConfig -from nucypher.utilities.logging import simpleObserver - +from nucypher.utilities.logging import SimpleObserver # Logger Configuration NucypherClickConfig.log_to_sentry = False -globalLogPublisher.addObserver(simpleObserver) - # Pytest configuration pytest_plugins = [ @@ -41,9 +38,12 @@ def pytest_addoption(parser): def pytest_collection_modifyitems(config, items): - if config.getoption("--runslow"): # --runslow given in cli: do not skip slow tests - return - skip_slow = pytest.mark.skip(reason="need --runslow option to run") - for item in items: - if "slow" in item.keywords: - item.add_marker(skip_slow) + + if not config.getoption("--runslow"): # --runslow given in cli: do not skip slow tests + skip_slow = pytest.mark.skip(reason="need --runslow option to run") + for item in items: + if "slow" in item.keywords: + item.add_marker(skip_slow) + log_level_name = config.getoption("--log-level", "info", skip=True) + observer = SimpleObserver(log_level_name) + globalLogPublisher.addObserver(observer)