Source code for lwe.core.logger

import logging

from lwe.core.config import Config


[docs] class Logger: def __new__(cls, name, config=None): config = config or Config() logger = logging.getLogger(name) # Prevent duplicate loggers. if logger.hasHandlers(): return logger logger.setLevel(logging.DEBUG) log_console_handler = logging.StreamHandler() log_console_handler.setFormatter(logging.Formatter(config.get("log.console.format"))) log_console_handler.setLevel(config.get("log.console.level")) logger.addHandler(log_console_handler) if config.get("debug.log.enabled"): log_file_handler = logging.FileHandler(config.get("debug.log.filepath"), "a") log_file_handler.setFormatter(logging.Formatter(config.get("debug.log.format"))) log_file_handler.setLevel(config.get("debug.log.level")) logger.addHandler(log_file_handler) return logger