From a760ce30fa2f2550a83fcb84fe225f60eda8a357 Mon Sep 17 00:00:00 2001 From: SerenaFeng Date: Mon, 12 Sep 2016 09:48:53 +0800 Subject: add logger common process for releng scripts JIRA: FUNCTEST-468 Change-Id: I03fb25ef26db521bceb740ec2808106a00e55165 Signed-off-by: SerenaFeng --- utils/test/scripts/create_kibana_dashboards.py | 8 +--- utils/test/scripts/logger_utils.py | 65 ++++++++++++++++++++++++++ utils/test/scripts/mongo_to_elasticsearch.py | 10 ++-- 3 files changed, 70 insertions(+), 13 deletions(-) create mode 100644 utils/test/scripts/logger_utils.py (limited to 'utils/test/scripts') diff --git a/utils/test/scripts/create_kibana_dashboards.py b/utils/test/scripts/create_kibana_dashboards.py index 5897a7e79..59666c1c8 100644 --- a/utils/test/scripts/create_kibana_dashboards.py +++ b/utils/test/scripts/create_kibana_dashboards.py @@ -1,18 +1,14 @@ #! /usr/bin/env python import json -import logging import urlparse import argparse import conf_utils +import logger_utils import shared_utils -logger = logging.getLogger('create_kibana_dashboards') -logger.setLevel(logging.DEBUG) -file_handler = logging.FileHandler('./{}.log'.format('create_kibana_dashboards')) -file_handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s: %(message)s')) -logger.addHandler(file_handler) +logger = logger_utils.KibanaDashboardLogger('elastic2kibana').get _installers = {'fuel', 'apex', 'compass', 'joid'} diff --git a/utils/test/scripts/logger_utils.py b/utils/test/scripts/logger_utils.py new file mode 100644 index 000000000..25d28a582 --- /dev/null +++ b/utils/test/scripts/logger_utils.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# +# feng.xiaowei@zte.com.cn +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Logging levels: +# Level Numeric value +# CRITICAL 50 +# ERROR 40 +# WARNING 30 +# INFO 20 +# DEBUG 10 +# NOTSET 0 +# +# Usage: +# import functest_logger as fl +# logger = fl.Logger("script_name").getLogger() +# logger.info("message to be shown with - INFO - ") +# logger.debug("message to be shown with - DEBUG -") + +import logging +import os + + +class Logger(object): + file_path = '/var/log' + formatter = logging.Formatter('%(asctime)s - %(name)s - ' + '%(levelname)s - %(message)s') + + def __init__(self, logger_name): + + IF_DEBUG = os.getenv('IF_DEBUG') + + self.logger_name = logger_name + self.logger = logging.getLogger(logger_name) + self.logger.propagate = 0 + self.logger.setLevel(logging.DEBUG) + + ch = logging.StreamHandler() + ch.setFormatter(self.formatter) + if IF_DEBUG is not None and IF_DEBUG.lower() == "true": + ch.setLevel(logging.DEBUG) + else: + ch.setLevel(logging.INFO) + self.logger.addHandler(ch) + + hdlr = logging.FileHandler('%s/%s.log' % (self.file_path, logger_name)) + hdlr.setFormatter(self.formatter) + hdlr.setLevel(logging.DEBUG) + self.logger.addHandler(hdlr) + + @property + def get(self): + return self.logger + + +class KibanaDashboardLogger(Logger): + file_path = '/var/log/kibana_dashboard' + + def __init__(self, logger_name): + super(KibanaDashboardLogger, self).__init__(logger_name) + diff --git a/utils/test/scripts/mongo_to_elasticsearch.py b/utils/test/scripts/mongo_to_elasticsearch.py index 6799574f5..ea515bcd8 100644 --- a/utils/test/scripts/mongo_to_elasticsearch.py +++ b/utils/test/scripts/mongo_to_elasticsearch.py @@ -1,7 +1,6 @@ #! /usr/bin/env python import datetime import json -import logging import os import subprocess import traceback @@ -11,14 +10,11 @@ import uuid import argparse import conf_utils -import shared_utils +import logger_utils import mongo2elastic_format +import shared_utils -logger = logging.getLogger('mongo_to_elasticsearch') -logger.setLevel(logging.DEBUG) -file_handler = logging.FileHandler('/var/log/{}.log'.format('mongo_to_elasticsearch')) -file_handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s: %(message)s')) -logger.addHandler(file_handler) +logger = logger_utils.KibanaDashboardLogger('mongo2elastic').get def _fix_date(date_string): -- cgit 1.2.3-korg