Source code for explainy.logger

# -*- coding: utf-8 -*-
"""
Created on Sun Jul 19 20:13:34 2020

@author: mauro
"""
import logging
import os


[docs]class Logger(object): def __init__(self, name, path_log): self.name = name self.path_log = path_log
[docs] def get_logger(self): """ Create a log file to record the experiment's logs Args: Retunr: logger (obj): logger that record logs """ # check if the file exist log_file = os.path.join(self.path_log, "{}.log".format(self.name)) file_logging_format = "%(asctime)s: %(levelname)s: %(message)s" # configure logger logging.basicConfig(level=logging.INFO) logger = logging.getLogger() # Reset the logger.handlers if it already exists. if logger.handlers: logger.handlers = [] # create a file handler for output file handler = logging.FileHandler(filename=log_file, mode="w") formatter = logging.Formatter(file_logging_format) handler.setFormatter(formatter) logger.setLevel(logging.DEBUG) logger.addHandler(handler) # set logging format console_logging_format = "%(asctime)s: %(levelname)s: %(message)s" # console log consoleHandler = logging.StreamHandler() # set the logging level for log file consoleHandler.setLevel(level=logging.INFO) # set the logging format formatter = logging.Formatter(console_logging_format) consoleHandler.setFormatter(formatter) # add the handlers to the logger logger.addHandler(consoleHandler) return logger