diff --git a/setup.py b/setup.py index a944aded69e5283f200fb838a0125c9f71a2eea5..0b0484fc2171fdad0e5c69d523a1cd3978ee4ea9 100644 --- a/setup.py +++ b/setup.py @@ -3,53 +3,43 @@ from setuptools import setup -with open('README.md') as readme_file: +with open("README.md") as readme_file: readme = readme_file.read() setup( - name='ska_logging', - version='0.1.0', + name="ska_logging", + version="0.1.0", description="", - long_description=readme + '\n\n', - author='Anton Joubert', - author_email='ajoubert+ska@ska.ac.za', - url='https://gitlab.com/ska-telescope/ska-logging', - packages=[ - 'ska_logging', - ], - package_dir={'ska_logging': - 'ska_logging'}, + long_description=readme + "\n\n", + author="Anton Joubert", + author_email="ajoubert+ska@ska.ac.za", + url="https://gitlab.com/ska-telescope/ska-logging", + packages=["ska_logging"], + package_dir={"ska_logging": "ska_logging"}, include_package_data=True, license="BSD license", zip_safe=False, classifiers=[ - 'Development Status :: 2 - Pre-Alpha', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: BSD License', - 'Natural Language :: English', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', + "Development Status :: 2 - Pre-Alpha", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Natural Language :: English", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", ], - python_requires='>=3.5', - test_suite='tests', + python_requires=">=3.5", + test_suite="tests", install_requires=[], setup_requires=[ # dependency for `python setup.py test` - 'pytest-runner', + "pytest-runner", # dependencies for `python setup.py build_sphinx` - 'sphinx', - 'recommonmark' - ], - tests_require=[ - 'pytest', - 'pytest-cov', - 'pytest-json-report', - 'pycodestyle', + "sphinx", + "recommonmark", ], - extras_require={ - 'dev': ['prospector[with_pyroma]', 'yapf', 'isort'], - } + tests_require=["pytest", "pytest-cov", "pytest-json-report", "pycodestyle"], + extras_require={"dev": ["prospector[with_pyroma]", "yapf", "isort"]}, ) diff --git a/ska_logging/__init__.py b/ska_logging/__init__.py index 3f88b9903225fbd6673dbbbeda3a308c3d62c118..c781de4ee5f6a66e6043b74d2d1e8fb1673987a1 100644 --- a/ska_logging/__init__.py +++ b/ska_logging/__init__.py @@ -2,12 +2,10 @@ """Module init code.""" -__all__ = ( - 'configure_logging', -) -__version__ = '0.1.0' -__author__ = 'Anton Joubert' -__email__ = 'ajoubert+ska@ska.ac.za' +__all__ = ("configure_logging",) +__version__ = "0.1.0" +__author__ = "Anton Joubert" +__email__ = "ajoubert+ska@ska.ac.za" from .configuration import configure_logging diff --git a/ska_logging/configuration.py b/ska_logging/configuration.py index 22839c8a483abf0f4e12ffa4406e3fc03f8e411e..f68d4e54cc5fba913f3181d6d6a6c53f505f3736 100644 --- a/ska_logging/configuration.py +++ b/ska_logging/configuration.py @@ -43,23 +43,19 @@ _LOGGING_CONFIG = { "disable_existing_loggers": False, "formatters": { "default": { - '()': _UTCFormatter, + "()": _UTCFormatter, "format": _FORMAT_STR_NO_TAGS, "datefmt": "%Y-%m-%dT%H:%M:%S", - }, + } }, "handlers": { "console": { "class": "logging.StreamHandler", "formatter": "default", "stream": "ext://sys.stdout", - }, + } }, - "root": { - "handlers": ["console"], - "filters": [], - "level": "INFO", - } + "root": {"handlers": ["console"], "filters": [], "level": "INFO"}, } @@ -101,11 +97,7 @@ def configure_logging(level=None, tags_filter=None, overrides=None): if level: config["root"]["level"] = level if tags_filter: - config["filters"] = { - "tags": { - "()": tags_filter, - } - } + config["filters"] = {"tags": {"()": tags_filter}} for handler in config["handlers"].values(): filters = handler.get("filters", []) if "tags" not in filters: diff --git a/tests/test_configuration.py b/tests/test_configuration.py index fbc469221c2dd442c60f0ed8c9ba48aa77ed4b56..2956de636eda149f7a03a6743fef1c16032158d0 100644 --- a/tests/test_configuration.py +++ b/tests/test_configuration.py @@ -62,17 +62,11 @@ class AppendHandler(logging.Handler): """Override configuration for recording loggers""" RECORDER_OVERRIDES = { - "handlers": { - "recorder": { - "()": AppendHandler, - "formatter": "default", - } - }, - "root": { - "handlers": ["console", "recorder"], - } + "handlers": {"recorder": {"()": AppendHandler, "formatter": "default"}}, + "root": {"handlers": ["console", "recorder"]}, } + @pytest.mark.usefixtures("reset_logging") class TestConfigureLogging: """Tests for :func:`~ska_logging.configuration.configure_logging`.""" @@ -100,6 +94,7 @@ class TestConfigureLogging: @pytest.fixture def recording_tags_logger(self): """Return user logger like :func:`recording_logger`, but including tags filter.""" + class MyFilter(logging.Filter): def filter(self, record): record.tags = "key1:value1,key2:value2" @@ -124,12 +119,12 @@ class TestConfigureLogging: def test_configure_logging_set_log_level_int(self): configure_logging(level=logging.DEBUG) - logger = logging.getLogger('ska.logger.test') + logger = logging.getLogger("ska.logger.test") assert logger.getEffectiveLevel() == logging.DEBUG def test_configure_logging_set_log_level_string(self): configure_logging(level="WARNING") - logger = logging.getLogger('ska.logger.test') + logger = logging.getLogger("ska.logger.test") assert logger.getEffectiveLevel() == logging.WARNING def test_configure_logging_default_uses_utc_time(self, recording_logger): @@ -152,7 +147,7 @@ class TestConfigureLogging: assert "%(tags)s" in formatter._fmt def test_configure_logging_tags_filter_emits_tags_value(self, recording_tags_logger): - recording_tags_logger.info('Tags message') + recording_tags_logger.info("Tags message") recorder = get_named_handler(recording_tags_logger, "recorder") record = recorder.records[0] log_message = recorder.logs[0] @@ -161,15 +156,8 @@ class TestConfigureLogging: def test_configure_logging_override(self): overrides = { - "handlers": { - "test": { - "class": "logging.StreamHandler", - "formatter": "default", - } - }, - "root": { - "handlers": ["console", "test"], - } + "handlers": {"test": {"class": "logging.StreamHandler", "formatter": "default"}}, + "root": {"handlers": ["console", "test"]}, } configure_logging(overrides=overrides) logger = logging.getLogger()