Add Functest Logger centralized Class 65/12665/4
authorjose.lausuch <jose.lausuch@ericsson.com>
Tue, 26 Apr 2016 09:50:58 +0000 (11:50 +0200)
committerJose Lausuch <jose.lausuch@ericsson.com>
Tue, 26 Apr 2016 10:20:42 +0000 (10:20 +0000)
JIRA: FUNCTEST-228

This is to be used by all the scripts using logging mechanisms.
Usage:

  import functest_logger as fl
  logger = fl.Logger("<script_name>").getLogger()

  # treat it as a normal logger object, as before:
  logger.info("message to be shown with - INFO - ")
  logger.debug("message to be shown with - DEBUG -")

Change-Id: I94e248523bc9bc148c9d171c978804b5d1865dd9
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
docker/Dockerfile
utils/__init__.py [new file with mode: 0644]
utils/functest_logger.py [new file with mode: 0644]

index b1e4124..fe49cca 100644 (file)
@@ -33,7 +33,7 @@ ENV repos_dir /home/opnfv/repos
 ENV creds /home/opnfv/functest/conf/openstack.creds
 ENV TERM xterm
 ENV COLORTERM gnome-terminal
-ENV PYTHONPATH $PYTHONPATH:/home/opnfv/repos/functest/testcases/
+ENV PYTHONPATH $PYTHONPATH:/home/opnfv/repos/functest/testcases/:/home/opnfv/repos/functest/utils/
 WORKDIR /home/opnfv
 
 # Packaged dependencies
diff --git a/utils/__init__.py b/utils/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/utils/functest_logger.py b/utils/functest_logger.py
new file mode 100644 (file)
index 0000000..5639ed8
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+#
+# 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
+#
+# Logging levels:
+#  Level     Numeric value
+#  CRITICAL  50
+#  ERROR     40
+#  WARNING   30
+#  INFO      20
+#  DEBUG     10
+#  NOTSET    0
+#
+# Usage:
+#  import functest_logger as fl
+#  logger = fl.Logger("script_name").getLogger()
+#  logger.info("message to be shown with - INFO - ")
+#  logger.debug("message to be shown with - DEBUG -")
+
+import logging
+import os
+
+
+class Logger:
+    def __init__(self, logger_name):
+
+        self.logger = logging.getLogger(logger_name)
+        self.logger.setLevel(logging.DEBUG)
+
+        ch = logging.StreamHandler()
+        formatter = logging.Formatter('%(asctime)s - %(name)s - '
+                                      '%(levelname)s - %(message)s')
+        ch.setFormatter(formatter)
+
+        CI_DEBUG = os.getenv('CI_DEBUG')
+
+        if CI_DEBUG.lower() == "true":
+            ch.setLevel(logging.DEBUG)
+        else:
+            ch.setLevel(logging.INFO)
+
+        self.logger.addHandler(ch)
+
+    def getLogger(self):
+        return self.logger