summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliyin <liyin11@huawei.com>2017-01-05 15:49:19 +0800
committerAce Lee <liyin11@huawei.com>2017-01-09 09:02:33 +0000
commit448224a5cda465a52c9f1d5fea71a2e3e5c4411e (patch)
tree9011896a24c7d79c4f1a570916e0cabb504adb35
parent5c859330549de91739b7c2ef31c040a208bb6840 (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.py59
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