first commit
This commit is contained in:
76
lib/framework/logger.py
Normal file
76
lib/framework/logger.py
Normal file
@@ -0,0 +1,76 @@
|
||||
import os
|
||||
import logging
|
||||
import logging.handlers
|
||||
from datetime import datetime
|
||||
from framework import path_data
|
||||
|
||||
from pytz import timezone, utc
|
||||
from support.logger import CustomFormatter
|
||||
|
||||
level_unset_logger_list = []
|
||||
logger_list = []
|
||||
|
||||
|
||||
def get_logger(name):
|
||||
logger = logging.getLogger(name)
|
||||
# print(logger.handlers)
|
||||
if not logger.handlers:
|
||||
global level_unset_logger_list
|
||||
global logger_list
|
||||
level = logging.DEBUG
|
||||
from framework import flag_system_loading
|
||||
|
||||
try:
|
||||
if flag_system_loading:
|
||||
try:
|
||||
pass
|
||||
except Exception:
|
||||
level = logging.DEBUG
|
||||
if level_unset_logger_list is not None:
|
||||
for item in level_unset_logger_list:
|
||||
item.setLevel(level)
|
||||
level_unset_logger_list = None
|
||||
else:
|
||||
level_unset_logger_list.append(logger)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
logger.setLevel(level)
|
||||
formatter = logging.Formatter(
|
||||
"[%(asctime)s|%(levelname)s|%(filename)s:%(lineno)s] %(message)s"
|
||||
)
|
||||
|
||||
def customTime(*args):
|
||||
utc_dt = utc.localize(datetime.utcnow())
|
||||
my_tz = timezone("Asia/Seoul")
|
||||
converted = utc_dt.astimezone(my_tz)
|
||||
return converted.timetuple()
|
||||
|
||||
formatter.converter = customTime
|
||||
file_max_bytes = 1 * 1024 * 1024
|
||||
fileHandler = logging.handlers.RotatingFileHandler(
|
||||
filename=os.path.join(path_data, "log", "%s.log" % name),
|
||||
maxBytes=file_max_bytes,
|
||||
backupCount=5,
|
||||
encoding="utf8",
|
||||
delay=True,
|
||||
)
|
||||
streamHandler = logging.StreamHandler()
|
||||
|
||||
# handler에 fommater 세팅
|
||||
fileHandler.setFormatter(formatter)
|
||||
streamHandler.setFormatter(CustomFormatter())
|
||||
|
||||
# Handler를 logging에 추가
|
||||
logger.addHandler(fileHandler)
|
||||
logger.addHandler(streamHandler)
|
||||
return logger
|
||||
|
||||
|
||||
def set_level(level):
|
||||
global logger_list
|
||||
try:
|
||||
for log in logger_list:
|
||||
log.setLevel(level)
|
||||
except Exception:
|
||||
pass
|
||||
Reference in New Issue
Block a user