import logging import sys from config.log_config import log_config class TestLog: def __init__(self, logger, log_debug, log_file, log_err, log_worker): self.logger = logger self.log_debug = log_debug self.log_file = log_file self.log_err = log_err self.log_worker = log_worker self.log = logging.getLogger(self.logger) self.log.setLevel(logging.DEBUG) try: formatter = logging.Formatter("[%(asctime)s - %(levelname)s - %(name)s]: " "%(message)s (%(filename)s:%(lineno)s)") # [%(process)s] process NO. dh = logging.FileHandler(self.log_debug) dh.setLevel(logging.DEBUG) dh.setFormatter(formatter) self.log.addHandler(dh) fh = logging.FileHandler(self.log_file) fh.setLevel(logging.INFO) fh.setFormatter(formatter) self.log.addHandler(fh) eh = logging.FileHandler(self.log_err) eh.setLevel(logging.ERROR) eh.setFormatter(formatter) self.log.addHandler(eh) if self.log_worker != "": wh = logging.FileHandler(self.log_worker) wh.setLevel(logging.DEBUG) wh.setFormatter(formatter) self.log.addHandler(wh) ch = logging.StreamHandler(sys.stdout) ch.setLevel(logging.DEBUG) ch.setFormatter(formatter) except Exception as e: print("Can not use %s or %s or %s to log. error : %s" % (log_debug, log_file, log_err, str(e))) """All modules share this unified log""" log_debug = log_config.log_debug log_info = log_config.log_info log_err = log_config.log_err log_worker = log_config.log_worker test_log = TestLog('ci_test', log_debug, log_info, log_err, log_worker).log