diff options
author | liyin <liyin11@huawei.com> | 2017-01-05 15:49:19 +0800 |
---|---|---|
committer | Ace Lee <liyin11@huawei.com> | 2017-01-09 09:02:33 +0000 |
commit | 448224a5cda465a52c9f1d5fea71a2e3e5c4411e (patch) | |
tree | 9011896a24c7d79c4f1a570916e0cabb504adb35 | |
parent | 5c859330549de91739b7c2ef31c040a208bb6840 (diff) |
Bottlenecks frame support log information
JIRA: BOTTLENECK-122
This code is for Bottlenecks to have a common way
to export log information
the way to use it is:
xxx = Logger.(__name__).getLogger()
xxx.info('xxxxxx')
It will only out info if you don't set DEBUG=true.
the default log file located '/tmp/bottlenecks.log'
we will add configuring log file function when config funtion complate.
Change-Id: I11cdc8a27f657736c3ec0e0bc1195f0ce0a2fce4
Signed-off-by: liyin <liyin11@huawei.com>
-rw-r--r-- | utils/logger.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/utils/logger.py b/utils/logger.py new file mode 100644 index 00000000..0f93bca7 --- /dev/null +++ b/utils/logger.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python +############################################################################## +# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. +# +# 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 + +import logging +import os + +# from bottlenecks_cfg import Bottlenecks_cfg as bn_cfg + + +class Logger: + def __init__(self, logger_name): + + #if user set --debug as a cli parameter + #we will set this variable “Debug” to output debug info. + DEBUG = os.getenv('DEBUG') + + self.logger = logging.getLogger(logger_name) + self.logger.propagate = 0 + self.logger.setLevel(logging.DEBUG) + + ch = logging.StreamHandler() + log_formatter = ('%(asctime)s ' + '%(name)s %(filename)s:%(lineno)d ' + '%(levelname)s %(message)s') + + formatter = logging.Formatter(log_formatter) + + ch.setFormatter(formatter) + if DEBUG is not None and DEBUG.lower() == "true": + ch.setLevel(logging.DEBUG) + else: + ch.setLevel(logging.INFO) + self.logger.addHandler(ch) + +# result_path = bn_cfg.['log_dir'] +# if not os.path.exists(result_path): +# os.makedirs(result_path) + hdlr = logging.FileHandler('/tmp/bottlenecks.log') + hdlr.setFormatter(formatter) + hdlr.setLevel(logging.DEBUG) + self.logger.addHandler(hdlr) + + def getLogger(self): + return self.logger
\ No newline at end of file |