22 lines
859 B
Python
22 lines
859 B
Python
import os
|
|
import logging
|
|
|
|
|
|
def get_logger(logger_name:str, log_file='gateway.log'):
|
|
logger_name = logger_name.replace('__', '')
|
|
debug_level = os.getenv('DEBUG').upper()
|
|
if debug_level not in ('CRITICAL', 'ERROR', 'WARNING', 'WARN', 'INFO', 'DEBUG', 'NOTSET', 'FATAL'):
|
|
print(f'Loglevel "{debug_level}" is not supported.')
|
|
exit(0)
|
|
logger = logging.getLogger(logger_name)
|
|
logger.setLevel(logging.getLevelName(debug_level))
|
|
handler = logging.FileHandler(filename=f'data/{log_file}', encoding='utf-8', mode='a')
|
|
formatter = logging.Formatter('%(asctime)s|%(levelname)s|%(name)s|:%(message)s')
|
|
handler.setFormatter(formatter)
|
|
stream_handler = logging.StreamHandler()
|
|
stream_handler.setFormatter(formatter)
|
|
logger.addHandler(stream_handler)
|
|
logger.addHandler(handler)
|
|
logger.info(f"Logger {logger_name} init done")
|
|
return logger
|