diff options
Diffstat (limited to 'anteater/main.py')
-rw-r--r-- | anteater/main.py | 42 |
1 files changed, 36 insertions, 6 deletions
diff --git a/anteater/main.py b/anteater/main.py index a8bd034..ef127c2 100644 --- a/anteater/main.py +++ b/anteater/main.py @@ -25,19 +25,48 @@ 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(): @@ -46,12 +75,13 @@ def check_dir(): os.makedirs(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__) |