38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
import logging
|
|
|
|
from src.system_var.environments import LOG_LEVEL
|
|
|
|
# boto3関連モジュールのログレベルを事前に個別指定し、モジュール内のDEBUGログの表示を抑止する
|
|
for name in ["boto3", "botocore", "s3transfer", "urllib3"]:
|
|
logging.getLogger(name).setLevel(logging.WARNING)
|
|
|
|
|
|
class Logger():
|
|
__logger: logging.Logger
|
|
|
|
def __init__(self):
|
|
self.__logger = logging.getLogger()
|
|
|
|
level = logging.getLevelName(LOG_LEVEL)
|
|
if not isinstance(level, int):
|
|
level = logging.INFO
|
|
self.__logger.setLevel(level)
|
|
|
|
if not self.__logger.hasHandlers():
|
|
handler = logging.StreamHandler()
|
|
self.__logger.addHandler(handler)
|
|
|
|
formatter = logging.Formatter(
|
|
'[%(levelname)s]\t%(asctime)s\t%(message)s\n',
|
|
'%Y-%m-%d %H:%M:%S'
|
|
)
|
|
|
|
for handler in self.__logger.handlers:
|
|
handler.setFormatter(formatter)
|
|
|
|
def get_logger(self) -> logging.Logger:
|
|
return self.__logger
|
|
|
|
|
|
logger_instance = Logger().get_logger()
|