Setup logging
(log_level, log_file, logger_name="exp_logger")
| 14 | |
| 15 | |
| 16 | def setup_logging(log_level, log_file, logger_name="exp_logger"): |
| 17 | """ Setup logging """ |
| 18 | numeric_level = getattr(logging, log_level.upper(), None) |
| 19 | if not isinstance(numeric_level, int): |
| 20 | raise ValueError("Invalid log level: %s" % log_level) |
| 21 | |
| 22 | logging.basicConfig( |
| 23 | filename=log_file, |
| 24 | filemode="w", |
| 25 | format="%(levelname)-5s | %(asctime)s | File %(filename)-20s | Line %(lineno)-5d | %(message)s", |
| 26 | datefmt="%m/%d/%Y %I:%M:%S %p", |
| 27 | level=numeric_level) |
| 28 | |
| 29 | console = logging.StreamHandler() |
| 30 | console.setLevel(numeric_level) |
| 31 | formatter = logging.Formatter( |
| 32 | "%(levelname)-5s | %(asctime)s | %(filename)-25s | line %(lineno)-5d: %(message)s" |
| 33 | ) |
| 34 | console.setFormatter(formatter) |
| 35 | logging.getLogger(logger_name).addHandler(console) |
| 36 | |
| 37 | return get_logger(logger_name) |
| 38 | |
| 39 | |
| 40 | def get_logger(logger_name="exp_logger"): |
no test coverage detected