From a87a5f00e1d32af5b193d0376778c966f1aaab3f Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Sun, 30 Apr 2017 08:52:55 +0200 Subject: Delete functest.utils.functest_logger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It deletes functest.utils.functest_logger and the related unit tests. Then it modifies all functest modules to get all loggers via logging.getLogger(). __name__ is mainly used as getLogger arg as proposed by logging [1]. All loggers and handlers are now defined via functest/ci/logging.ini instead of a dict loaded by an external json file. Now only warn messages and info messages from ci and core packages are printed in console. [1] https://docs.python.org/2/library/logging.html Change-Id: Ic192855e0f9bf94825d8f7ec73549a0f3b8d44c5 Signed-off-by: Cédric Ollivier --- functest/ci/config_functest.yaml | 2 +- functest/ci/generate_report.py | 7 ++-- functest/ci/logging.ini | 70 ++++++++++++++++++++++++++++++++++++++++ functest/ci/logging.json | 29 ----------------- functest/ci/prepare_env.py | 7 ++-- functest/ci/run_tests.py | 10 +++--- 6 files changed, 86 insertions(+), 39 deletions(-) create mode 100644 functest/ci/logging.ini delete mode 100644 functest/ci/logging.json (limited to 'functest/ci') diff --git a/functest/ci/config_functest.yaml b/functest/ci/config_functest.yaml index f291cf1f..fd663abc 100644 --- a/functest/ci/config_functest.yaml +++ b/functest/ci/config_functest.yaml @@ -34,7 +34,7 @@ general: functest: /home/opnfv/functest functest_test: /home/opnfv/repos/functest/functest/opnfv_tests results: /home/opnfv/functest/results - functest_logging_cfg: /home/opnfv/repos/functest/functest/ci/logging.json + functest_logging_cfg: /home/opnfv/repos/functest/functest/ci/logging.ini functest_conf: /home/opnfv/functest/conf functest_data: /home/opnfv/functest/data ims_data: /home/opnfv/functest/data/ims/ diff --git a/functest/ci/generate_report.py b/functest/ci/generate_report.py index 3872a07e..c4a9fbbf 100755 --- a/functest/ci/generate_report.py +++ b/functest/ci/generate_report.py @@ -6,10 +6,11 @@ # http://www.apache.org/licenses/LICENSE-2.0 # import json +import logging import re +import sys import urllib2 -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils from functest.utils.constants import CONST @@ -23,7 +24,7 @@ COL_5_LEN = 75 # and then we can print the url to the specific test result -logger = ft_logger.Logger("generate_report").getLogger() +logger = logging.getLogger(__name__) def init(tiers_to_run=[]): @@ -149,5 +150,5 @@ def main(args=[]): if __name__ == '__main__': - import sys + logging.basicConfig() main(sys.argv[1:]) diff --git a/functest/ci/logging.ini b/functest/ci/logging.ini new file mode 100644 index 00000000..8036ed29 --- /dev/null +++ b/functest/ci/logging.ini @@ -0,0 +1,70 @@ +[loggers] +keys=root,functest,ci,cli,core,opnfv_tests,utils + +[handlers] +keys=console,wconsole,file,null + +[formatters] +keys=standard + +[logger_root] +level=NOTSET +handlers=null + +[logger_functest] +level=NOTSET +handlers=file +qualname=functest + +[logger_ci] +level=NOTSET +handlers=console +qualname=functest.ci + +[logger_cli] +level=NOTSET +handlers=wconsole +qualname=functest.cli + +[logger_core] +level=NOTSET +handlers=console +qualname=functest.core + +[logger_opnfv_tests] +level=NOTSET +handlers=wconsole +qualname=functest.opnfv_tests + +[logger_utils] +level=NOTSET +handlers=wconsole +qualname=functest.utils + +[handler_null] +class=NullHandler +level=NOTSET +formatter=standard +args=() + +[handler_console] +class=StreamHandler +level=INFO +formatter=standard +args=(sys.stdout,) + +[handler_wconsole] +class=StreamHandler +level=WARN +formatter=standard +args=(sys.stdout,) + +[handler_file] +class=FileHandler +level=DEBUG +formatter=standard +args=("/home/opnfv/functest/results/functest.log",) + +[formatter_standard] +format=%(asctime)s - %(name)s - %(levelname)s - %(message)s +datefmt= diff --git a/functest/ci/logging.json b/functest/ci/logging.json deleted file mode 100644 index 2a2399d3..00000000 --- a/functest/ci/logging.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "version": 1, - "disable_existing_loggers": false, - "formatters": { - "standard": { - "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" - } - }, - "handlers": { - "console": { - "level": "INFO", - "class": "logging.StreamHandler", - "formatter": "standard" - }, - "file": { - "level": "DEBUG", - "class": "logging.FileHandler", - "formatter": "standard", - "filename": "/home/opnfv/functest/results/functest.log" - } - }, - "loggers": { - "": { - "handlers": ["console", "file"], - "level": "DEBUG", - "propagate": "yes" - } - } -} diff --git a/functest/ci/prepare_env.py b/functest/ci/prepare_env.py index e9a470f9..08badf17 100755 --- a/functest/ci/prepare_env.py +++ b/functest/ci/prepare_env.py @@ -8,6 +8,8 @@ import argparse import json +import logging +import logging.config import os import re import subprocess @@ -16,7 +18,6 @@ import fileinput import yaml -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST @@ -27,7 +28,7 @@ from opnfv.deployment import factory actions = ['start', 'check'] """ logging configuration """ -logger = ft_logger.Logger("prepare_env").getLogger() +logger = logging.getLogger('functest.ci.prepare_env') handler = None # set the architecture to default pod_arch = None @@ -377,6 +378,8 @@ def main(**kwargs): if __name__ == '__main__': + logging.config.fileConfig( + CONST.__getattribute__('dir_functest_logging_cfg')) parser = PrepareEnvParser() args = parser.parse_args(sys.argv[1:]) sys.exit(main(**args)) diff --git a/functest/ci/run_tests.py b/functest/ci/run_tests.py index e68901b8..d1361260 100755 --- a/functest/ci/run_tests.py +++ b/functest/ci/run_tests.py @@ -12,6 +12,8 @@ import argparse import datetime import enum import importlib +import logging +import logging.config import os import re import sys @@ -19,16 +21,14 @@ import sys import functest.ci.generate_report as generate_report import functest.ci.tier_builder as tb import functest.core.testcase as testcase -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_clean as os_clean import functest.utils.openstack_snapshot as os_snapshot import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST - -""" logging configuration """ -logger = ft_logger.Logger("run_tests").getLogger() +# __name__ cannot be used here +logger = logging.getLogger('functest.ci.run_tests') class Result(enum.Enum): @@ -270,6 +270,8 @@ def main(**kwargs): if __name__ == '__main__': + logging.config.fileConfig( + CONST.__getattribute__('dir_functest_logging_cfg')) parser = RunTestsParser() args = parser.parse_args(sys.argv[1:]) sys.exit(main(**args).value) -- cgit 1.2.3-korg