aboutsummaryrefslogtreecommitdiffstats
path: root/anteater
diff options
context:
space:
mode:
authorRoss Brattain <ross.b.brattain@intel.com>2017-06-21 18:49:08 -0700
committerRoss Brattain <ross.b.brattain@intel.com>2017-07-01 02:33:41 -0700
commit53316ac7b87e7d674e012a5c71f2b08d41c027f8 (patch)
treef814aa3f0a35324b123aba2f6a5d232d01677691 /anteater
parenteceefe7114bc5d0fc94ac77ee4e510c94c1a76bf (diff)
move logging to runtime init
There are many ways to init logging, but doing import-time logic can cause problems. For yardstick we are doing this type of run-time init in the main program startup. This allows for some flexibiliy since we just set the root loggers. Every other logger is standard, not subclassed Change-Id: I7004a147f03a7104f373141caf9206d8e49a5d4c Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Diffstat (limited to 'anteater')
-rw-r--r--anteater/__init__.py4
-rw-r--r--anteater/main.py44
-rw-r--r--anteater/src/get_lists.py4
-rw-r--r--anteater/src/patch_scan.py4
-rw-r--r--anteater/src/project_scan.py4
-rw-r--r--anteater/utils/__init__.py7
-rw-r--r--anteater/utils/anteater_logger.py51
7 files changed, 47 insertions, 71 deletions
diff --git a/anteater/__init__.py b/anteater/__init__.py
index e69de29..d514059 100644
--- a/anteater/__init__.py
+++ b/anteater/__init__.py
@@ -0,0 +1,4 @@
+from __future__ import absolute_import
+import logging
+
+LOG = logging.getLogger(__name__)
diff --git a/anteater/main.py b/anteater/main.py
index 3a23ceb..ef127c2 100644
--- a/anteater/main.py
+++ b/anteater/main.py
@@ -25,33 +25,63 @@ Options:
"""
from __future__ import absolute_import
+import errno
+import logging
+
+import os
import six.moves.configparser
from docopt import docopt
-import os
+
+from anteater import LOG
from anteater.src.patch_scan import prepare_patchset
from anteater.src.project_scan import prepare_project
-from anteater.utils import anteater_logger as antlog
-
config = six.moves.configparser.RawConfigParser()
config.read('anteater.conf')
reports_dir = config.get('config', 'reports_dir')
-logger = antlog.Logger(__name__).getLogger()
__version__ = "0.1"
+logger = logging.getLogger(__name__)
+
+
+def _init_logging(anteater_log):
+ """ Setup root logger for package """
+
+ LOG.setLevel(logging.DEBUG)
+ ch = logging.StreamHandler()
+ formatter = logging.Formatter('%(asctime)s - %(name)s - '
+ '%(levelname)s - %(message)s')
+ ch.setFormatter(formatter)
+ ch.setLevel(logging.DEBUG)
+
+ # create the directory if it does not exist
+ path = os.path.dirname(anteater_log)
+ try:
+ os.makedirs(path)
+ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise
+
+ handler = logging.FileHandler(anteater_log)
+ handler.setFormatter(formatter)
+ handler.setLevel(logging.DEBUG)
+ del logging.root.handlers[:]
+ logging.root.addHandler(ch)
+ logging.root.addHandler(handler)
def check_dir():
""" Creates a directory for scan reports """
try:
os.makedirs(reports_dir)
- logger.info('Creating reports directory: {0}'.format(reports_dir))
+ logger.info('Creating reports directory: %s', reports_dir)
except OSError as e:
- if not os.path.isdir(reports_dir):
- logger.error(e)
+ if e.errno != errno.EEXIST:
+ raise
def main():
""" Main function, mostly for passing arguments """
+ _init_logging(config.get('config', 'anteater_log'))
check_dir()
arguments = docopt(__doc__, version=__version__)
diff --git a/anteater/src/get_lists.py b/anteater/src/get_lists.py
index e27335a..b8c6cda 100644
--- a/anteater/src/get_lists.py
+++ b/anteater/src/get_lists.py
@@ -15,7 +15,7 @@
"""
from __future__ import absolute_import
-import anteater.utils.anteater_logger as antlog
+import logging
import six.moves.configparser
import copy
import os
@@ -25,7 +25,7 @@ import re
config = six.moves.configparser.RawConfigParser()
config.read('anteater.conf')
-logger = antlog.Logger(__name__).getLogger()
+logger = logging.getLogger(__name__)
master_list = config.get('config', 'master_list')
with open(master_list, 'r') as f:
diff --git a/anteater/src/patch_scan.py b/anteater/src/patch_scan.py
index 71604a8..e61dfca 100644
--- a/anteater/src/patch_scan.py
+++ b/anteater/src/patch_scan.py
@@ -18,7 +18,7 @@
from __future__ import division, print_function, absolute_import
from binaryornot.check import is_binary
-import anteater.utils.anteater_logger as antlog
+import logging
import hashlib
import six.moves.configparser
import sys
@@ -26,7 +26,7 @@ import re
from . import get_lists
-logger = antlog.Logger(__name__).getLogger()
+logger = logging.getLogger(__name__)
config = six.moves.configparser.RawConfigParser()
config.read('anteater.conf')
reports_dir = config.get('config', 'reports_dir')
diff --git a/anteater/src/project_scan.py b/anteater/src/project_scan.py
index 647c256..3886801 100644
--- a/anteater/src/project_scan.py
+++ b/anteater/src/project_scan.py
@@ -20,12 +20,12 @@ import hashlib
import six.moves.configparser
import os
import re
-import anteater.utils.anteater_logger as antlog
+import logging
from binaryornot.check import is_binary
from . import get_lists
-logger = antlog.Logger(__name__).getLogger()
+logger = logging.getLogger(__name__)
config = six.moves.configparser.RawConfigParser()
config.read('anteater.conf')
reports_dir = config.get('config', 'reports_dir')
diff --git a/anteater/utils/__init__.py b/anteater/utils/__init__.py
deleted file mode 100644
index 1db8868..0000000
--- a/anteater/utils/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-from __future__ import absolute_import
-import pkg_resources
-
-try:
- __version__ = pkg_resources.get_distribution(__name__).version
-except:
- __version__ = 'unknown'
diff --git a/anteater/utils/anteater_logger.py b/anteater/utils/anteater_logger.py
deleted file mode 100644
index 785e644..0000000
--- a/anteater/utils/anteater_logger.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-##############################################################################
-# Copyright (c) 2017 jose.lausuch@ericsson.com
-#
-# 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
-##############################################################################
-
-from __future__ import absolute_import
-
-import logging
-
-import os
-import six.moves.configparser
-
-config = six.moves.configparser.RawConfigParser()
-config.read('anteater.conf')
-anteater_log = config.get('config', 'anteater_log')
-
-
-class Logger:
- def __init__(self, logger_name):
- self.logger = logging.getLogger(logger_name)
- self.logger.propagate = 0
- self.logger.setLevel(logging.DEBUG)
-
- ch = logging.StreamHandler()
- formatter = logging.Formatter('%(asctime)s - %(name)s - '
- '%(levelname)s - %(message)s')
- ch.setFormatter(formatter)
- ch.setLevel(logging.DEBUG)
- self.logger.addHandler(ch)
-
- # create the directory if not existed
- path = os.path.dirname(anteater_log)
- if ( False == os.path.exists(path)):
- try:
- os.makedirs(path)
- except OSError as e:
- raise e
-
- handler = logging.FileHandler(anteater_log)
- handler.setFormatter(formatter)
- handler.setLevel(logging.DEBUG)
- self.logger.addHandler(handler)
-
- def getLogger(self):
- return self.logger