#!/usr/bin/env python
__author__ = "Mageswaran Dhandapani"
__copyright__ = "Copyright 2020, The Spark Structured Playground Project"
__credits__ = []
__license__ = "Apache License"
__version__ = "2.0"
__maintainer__ = "Mageswaran Dhandapani"
__email__ = "mageswaran1989@gmail.com"
__status__ = "Education Purpose"
import sys
import logging
from ssp.utils.singleton_metaclass import Singleton
[docs]def str_to_level(log_level):
if log_level == "error":
return logging.ERROR
elif log_level == "debug":
return logging.DEBUG
elif log_level == "info":
return logging.INFO
else:
return logging.ERROR
[docs]class PythonLogger(metaclass=Singleton):
def __init__(self, log_level: str):
self.logger = logging.getLogger()
self.logger.setLevel(str_to_level(log_level))
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(str_to_level(log_level))
formatter = logging.Formatter('>>>>>>>> %(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
self.logger.addHandler(handler)
logging.basicConfig(filename="./log.txt",
filemode='a',
format=formatter,
datefmt='%H:%M:%S',
level=logging.DEBUG)
[docs] def info(self, info):
self.logger.info(str(info))
[docs] def error(self, info):
self.logger.error(str(info))
[docs] def warn(self, info):
self.logger.warning(str(info))
[docs] def debug(self, info):
self.logger.debug(str(info))