From eb70fd48fe1735ee200302b1096ffbde184d8b69 Mon Sep 17 00:00:00 2001
From: "jose.lausuch" <jose.lausuch@ericsson.com>
Date: Tue, 26 Apr 2016 11:50:58 +0200
Subject: Add Functest Logger centralized Class

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        |  2 +-
 utils/__init__.py        |  0
 utils/functest_logger.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 1 deletion(-)
 create mode 100644 utils/__init__.py
 create mode 100644 utils/functest_logger.py

diff --git a/docker/Dockerfile b/docker/Dockerfile
index b1e41247..fe49cca6 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -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
index 00000000..e69de29b
diff --git a/utils/functest_logger.py b/utils/functest_logger.py
new file mode 100644
index 00000000..5639ed80
--- /dev/null
+++ b/utils/functest_logger.py
@@ -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
-- 
cgit