Source code for idstools.set_logger

import logging

# log_fmt = "%(asctime)s %(name)s (%(levelname)s): %(message)s"
log_fmt = "%(asctime)s %(levelname)s: %(message)s"
# log_fmt = "%(levelname)s %(asctime)s: %(message)s"
date_fmt = "%y/%m/%d %H:%M:%S"


[docs]def set_logger(name, logfile=None, level=logging.WARNING): """ Initialization of logger object for IDStools Parameters ---------- name: str Name of Logger object logfile: str=None File name of logging output level: int=logging.WARNING Threshold for logger Returns ------- logger: class Logger """ ch_lv = level fh_lv = "INFO" logger = logging.getLogger(name) logger.setLevel(level) # create file handler if logfile: fh = logging.FileHandler(logfile) fh.setLevel(fh_lv) fh_formatter = logging.Formatter(fmt=log_fmt, datefmt=date_fmt) fh.setFormatter(fh_formatter) # add handler to the root logger # logger.addHandler(fh) logging.getLogger().addHandler(fh) logging.getLogger().setLevel(fh_lv) # create console handler ch = logging.StreamHandler() ch.setLevel(ch_lv) ch_formatter = logging.Formatter(fmt=log_fmt, datefmt=date_fmt) ch.setFormatter(ch_formatter) # add handler to the root logger # logger.addHandler(ch) logging.getLogger().addHandler(ch) logging.getLogger().setLevel(ch_lv) return logger