X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2F__init__.py;h=9eb5db9b16b2654336dcb20792c7746f75b8eb6a;hb=ea8429bfe1d130d2d7ee6e4202d6548019a1b135;hp=e19be36fdb0a0d652fbc5ae68b99d46ad1faf0a9;hpb=806008ab5f3bc912c9c23d4c1fff6253a50e77ed;p=yardstick.git diff --git a/yardstick/__init__.py b/yardstick/__init__.py index e19be36fd..9eb5db9b1 100644 --- a/yardstick/__init__.py +++ b/yardstick/__init__.py @@ -10,21 +10,25 @@ from __future__ import absolute_import import logging import os -import sys +import errno -import yardstick.vTC.apexlake as apexlake +# this module must only import other modules that do +# not require loggers to be created, so this cannot from yardstick.common import constants -from yardstick.common import utils as yardstick_utils +from yardstick.common import exceptions -# Hack to be able to run apexlake unit tests -# without having to install apexlake. -sys.path.append(os.path.dirname(apexlake.__file__)) -yardstick_utils.makedirs(constants.YARDSTICK_LOG_DIR) -LOG_FILE = os.path.join(constants.YARDSTICK_LOG_DIR, 'yardstick.log') -LOG_FORMATTER = ('%(asctime)s ' - '%(name)s %(filename)s:%(lineno)d ' - '%(levelname)s %(message)s') +try: + # do not use yardstick.common.utils.makedirs + # since yardstick.common.utils creates a logger + # and so it cannot be imported before this code + os.makedirs(constants.LOG_DIR) +except OSError as e: + if e.errno != errno.EEXIST: + raise + +LOG_FILE = os.path.join(constants.LOG_DIR, 'yardstick.log') +LOG_FORMATTER = '%(asctime)s [%(levelname)s] %(name)s %(filename)s:%(lineno)d %(message)s' _LOG_FORMATTER = logging.Formatter(LOG_FORMATTER) _LOG_STREAM_HDLR = logging.StreamHandler() @@ -42,6 +46,7 @@ def _init_logging(): _LOG_STREAM_HDLR.setLevel(logging.DEBUG) else: _LOG_STREAM_HDLR.setLevel(logging.INFO) + # don't append to log file, clobber _LOG_FILE_HDLR.setFormatter(_LOG_FORMATTER) _LOG_FILE_HDLR.setLevel(logging.DEBUG)