Source code for ssp.logger.python_logger

#!/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))