Source code for cyberjake.make_logger

"""Common log maker"""

import logging


[docs]def make_logger(name: str, log_level: str = "INFO") -> logging.Logger: """Creates a logger class that handles stream and file output :param name: Name of logger :type name: str :param log_level: Logging level. Valid strings are 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL' :type log_level: str :return: Logger class that handled the logging. :rtype: logging.Logger """ logger = logging.getLogger(name) logger.setLevel(log_level) formatter = logging.Formatter( "%(levelname)s - %(name)s - %(asctime)s - %(message)s", "%Y-%m-%d %H:%M:%S" ) file_output = logging.FileHandler(f"{name}.log", mode="w") file_output.setFormatter(formatter) logger.addHandler(file_output) stream_output = logging.StreamHandler() stream_output.setFormatter(formatter) logger.addHandler(stream_output) return logger