From 80fa496c7bd4898120a6bdaaa802c3c01356b5c1 Mon Sep 17 00:00:00 2001 From: Yan Zhaojun Date: Fri, 25 Oct 2024 06:24:30 +0000 Subject: [PATCH] Upload New File --- csst_mci_sim/support/logger.py | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 csst_mci_sim/support/logger.py diff --git a/csst_mci_sim/support/logger.py b/csst_mci_sim/support/logger.py new file mode 100644 index 0000000..c564588 --- /dev/null +++ b/csst_mci_sim/support/logger.py @@ -0,0 +1,56 @@ +""" +These functions can be used for logging information. + +.. Warning:: logger is not multiprocessing safe. + +:version: 0.3 +""" +import logging +import logging.handlers + + +def setUpLogger(log_filename, loggername='logger'): + """ + Sets up a logger. + + :param: log_filename: name of the file to save the log. + :param: loggername: name of the logger + + :return: logger instance + """ + # create logger + logger = logging.getLogger(loggername) + logger.setLevel(logging.DEBUG) + # Add the log message handler to the logger + handler = logging.handlers.RotatingFileHandler(log_filename) + # maxBytes=20, backupCount=5) + # create formatter + formatter = logging.Formatter( + '%(asctime)s - %(module)s - %(funcName)s - %(levelname)s - %(message)s') + # add formatter to ch + handler.setFormatter(formatter) + # add handler to logger + + if (logger.hasHandlers()): + logger.handlers.clear() + + logger.addHandler(handler) + + return logger + + +# class SimpleLogger(object): +# """ +# A simple class to create a log file or print the information on screen. +# """ + +# def __init__(self, filename, verbose=False): +# self.file = open(filename, 'w') +# self.verbose = verbose + +# def write(self, text): +# """ +# Writes text either to file or screen. +# """ +# print >> self.file, text +# if self.verbose: print( text) -- GitLab