Path: blob/master/ invest-robot-contest_TradingCompetition2022-main/logger/LoggerFactory.py
5925 views
from logger.TechLogger import TechLogger1from logger.BusinessLogger import BusinessLogger2from datetime import datetime345class LoggerFactory:6BUSINESS_LOGGER = 'BUSINESS_LOGGER'7TECH_LOGGER = 'TECH_LOGGER'89@classmethod10def get_logger(cls, logger_type):11logger = None12file_name = None13match logger_type:14case cls.BUSINESS_LOGGER:15logger = BusinessLogger().get_logger_instance()16file_name = "Business_Log_" + str(datetime.now())17case cls.TECH_LOGGER:18logger = TechLogger().get_logger_instance()19file_name = "Tech_Log_" + str(datetime.now())20if logger and logger.file_name is None:21logger.file_name = file_name22return logger2324@classmethod25def get_business_logger_instance(cls):26return cls.get_logger(cls.BUSINESS_LOGGER)2728@classmethod29def get_tech_logger_instance(cls):30return cls.get_logger(cls.TECH_LOGGER)313233def tech_log(fn):34""" Decorator for log before and after fn """3536def logger(*args, **kwargs):37log: TechLogger = LoggerFactory.get_tech_logger_instance()38log.log_before_method(fn, *args, **kwargs)39fn(*args, **kwargs)40log.log_after_method(fn)41return logger42434445