in 3_optimization-design-ptn/03_prompt-optimization/promptwizard/glue/common/utils/logging.py [0:0]
def set_logging_config(log_dirpath: str, mode: str = "offline") -> None:
"""
This logger should be used when we are running online production scenario
:param log_dirpath: Path to directory where logg files should be saved.
:param mode: Specifies whether the mode is `online or `offline`
:return:
"""
global logging_handlers_list
makedirs(log_dirpath, exist_ok=True)
logging.basicConfig(filename=join(log_dirpath, FileConstants.logfile_name),
filemode='a',
format=u"%(asctime)s.%(msecs)03d | %(name)-12s | %(funcName)s:\n%(message)s\n",
datefmt='%Y-%m-%d,%H:%M:%S',
level=logging.NOTSET,
force=True,
encoding="utf-8")
if mode == "online":
daily_split_handler = TimedRotatingFileHandler(FileConstants.logfile_prefix, when="midnight", backupCount=30, encoding="utf-8")
daily_split_handler.suffix = "%Y%m%d"
logging_handlers_list = [daily_split_handler]
else:
console = logging.StreamHandler()
console.setLevel(logging.NOTSET)
logging_handlers_list = [console]