diff options
author | jardellos <thierry.hardy@orange.com> | 2020-08-28 11:27:47 +0200 |
---|---|---|
committer | Thierry Hardy <thierry.hardy@orange.com> | 2020-08-31 13:49:40 +0200 |
commit | 7664059073dd0691428864deb37c3861521e2cd8 (patch) | |
tree | 8817d8115de3846dee9a5f3a591ecf536e8147d6 | |
parent | f9b0c349a5c83f9278f6b115d334598201d9d7e6 (diff) |
Add logger in python-sdktests
Adding of logger to onaptests setting the stream and file handlers based
on settings.py
onapsdk should evolve to include the same code
This would avoid to add it in run.py
Simplification of the proposal based on remarks from Michal and Morgan
Issue-ID: TEST-252
Signed-off-by: jardellos <thierry.hardy@orange.com>
Change-Id: I5b7baf77580df916c4f5e62965a47d8462b44c43
-rw-r--r-- | run.py | 24 | ||||
-rw-r--r-- | setup.cfg | 2 | ||||
-rw-r--r-- | src/onaptests/configuration/settings.py | 32 | ||||
-rw-r--r-- | src/onaptests/steps/base.py | 18 |
4 files changed, 60 insertions, 16 deletions
@@ -1,19 +1,13 @@ -import logging +import logging.config +from onapsdk.configuration import settings +from onaptests.steps.instantiate.service_ala_carte import ServiceAlaCarteInstantiateStep -from onaptests.steps.instantiate.vf_module_ala_carte import YamlTemplateVfModuleAlaCarteInstantiateStep - - -# Configure logging -logger = logging.getLogger("") -logger.setLevel(logging.INFO) -fh = logging.StreamHandler() -fh_formatter = logging.Formatter( - "%(asctime)s %(levelname)s %(name)s %(lineno)d:%(filename)s(%(process)d) - %(message)s" -) -fh.setFormatter(fh_formatter) -logger.addHandler(fh) if __name__ == "__main__": - vf_module_inst = YamlTemplateVfModuleAlaCarteInstantiateStep() - vf_module_inst.execute() + # logging configuration for onapsdk, it is not requested for onaptests + # Correction requested in onapsdk to avoid having this duplicate code + logging.config.dictConfig(settings.LOG_CONFIG) + + service_inst = ServiceAlaCarteInstantiateStep() + service_inst.execute() @@ -10,10 +10,12 @@ license = Apache 2.0 classifiers = Programming Language :: Python :: 3 Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 [options] zip_safe = False include_package_data = True +python_requires = >=3.7,<4 package_dir= =src packages=find_namespace: diff --git a/src/onaptests/configuration/settings.py b/src/onaptests/configuration/settings.py index f6959de..0e69b4e 100644 --- a/src/onaptests/configuration/settings.py +++ b/src/onaptests/configuration/settings.py @@ -6,6 +6,38 @@ # # ###################### + +# Variables to set logger information +# Possible values for logging levels in onapsdk: INFO, DEBUG , WARNING, ERROR +LOG_CONFIG = { + "version": 1, + "disable_existing_loggers": False, + "formatters": { + "default": { + "class": "logging.Formatter", + "format": "%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s" + } + }, + "handlers": { + "console": { + "level": "DEBUG", + "class": "logging.StreamHandler", + "formatter": "default" + }, + "file": { + "level": "DEBUG", + "class": "logging.FileHandler", + "formatter": "default", + "filename": "./pythonsdk.debug.log", + "mode": "w" + } + }, + "root": { + "level": "DEBUG", + "handlers": ["console", "file"] + } +} + VENDOR_NAME = "sdktests_vendor" VSP_NAME = "sdktests_vsp" VSP_FILE_PATH = "vfw.zip" diff --git a/src/onaptests/steps/base.py b/src/onaptests/steps/base.py index b32e6d3..5f66935 100644 --- a/src/onaptests/steps/base.py +++ b/src/onaptests/steps/base.py @@ -1,10 +1,24 @@ +import logging +import logging.config + from abc import ABC, abstractmethod from typing import List - +from onapsdk.configuration import settings class BaseStep(ABC): """Base step class.""" + _logger: logging.Logger = logging.getLogger("") + + def __init_subclass__(cls): + """Subclass initialization. + + Add _logger property for any BaseStep subclass + """ + super().__init_subclass__() + cls._logger: logging.Logger = logging.getLogger("") + logging.config.dictConfig(settings.LOG_CONFIG) + def __init__(self, cleanup: bool = False) -> None: """Step initialization. @@ -16,6 +30,8 @@ class BaseStep(ABC): self._cleanup: bool = cleanup self._parent: "BaseStep" = None + + def add_step(self, step: "BaseStep") -> None: """Add substep. |