add error log to file (#3431)
Some checks failed
Deploy GitHub Pages / deploy (push) Has been cancelled

* feat(log):add_request_and_response_log

* feat[log]:add error log to file
This commit is contained in:
xiaolei373
2025-08-20 09:52:34 +08:00
committed by GitHub
parent 3a6058e445
commit 5d131485d8
11 changed files with 1396 additions and 30 deletions

View File

@@ -40,6 +40,7 @@ from tqdm import tqdm
from typing_extensions import TypeIs, assert_never
from fastdeploy import envs
from fastdeploy.logger.logger import FastDeployLogger
T = TypeVar("T")
@@ -191,38 +192,38 @@ class DailyRotatingFileHandler(BaseRotatingHandler):
os.remove(str(self.base_log_path.with_name(file_name)))
def get_logger(name, file_name, without_formater=False, print_to_console=False):
"""
get logger
"""
log_dir = envs.FD_LOG_DIR
if not os.path.exists(log_dir):
os.mkdir(log_dir)
is_debug = int(envs.FD_DEBUG)
logger = logging.getLogger(name)
if is_debug:
logger.setLevel(level=logging.DEBUG)
else:
logger.setLevel(level=logging.INFO)
# def get_logger(name, file_name, without_formater=False, print_to_console=False):
# """
# get logger
# """
# log_dir = envs.FD_LOG_DIR
# if not os.path.exists(log_dir):
# os.mkdir(log_dir)
# is_debug = int(envs.FD_DEBUG)
# logger = logging.getLogger(name)
# if is_debug:
# logger.setLevel(level=logging.DEBUG)
# else:
# logger.setLevel(level=logging.INFO)
for handler in logger.handlers[:]:
logger.removeHandler(handler)
# for handler in logger.handlers[:]:
# logger.removeHandler(handler)
LOG_FILE = f"{log_dir}/{file_name}"
backup_count = int(envs.FD_LOG_BACKUP_COUNT)
handler = DailyRotatingFileHandler(LOG_FILE, backupCount=backup_count)
formatter = ColoredFormatter("%(levelname)-8s %(asctime)s %(process)-5s %(filename)s[line:%(lineno)d] %(message)s")
# LOG_FILE = f"{log_dir}/{file_name}"
# backup_count = int(envs.FD_LOG_BACKUP_COUNT)
# handler = DailyRotatingFileHandler(LOG_FILE, backupCount=backup_count)
# formatter = ColoredFormatter("%(levelname)-8s %(asctime)s %(process)-5s %(filename)s[line:%(lineno)d] %(message)s")
console_handler = logging.StreamHandler()
if not without_formater:
handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
logger.addHandler(handler)
if print_to_console:
logger.addHandler(console_handler)
handler.propagate = False
console_handler.propagate = False
return logger
# console_handler = logging.StreamHandler()
# if not without_formater:
# handler.setFormatter(formatter)
# console_handler.setFormatter(formatter)
# logger.addHandler(handler)
# if print_to_console:
# logger.addHandler(console_handler)
# handler.propagate = False
# console_handler.propagate = False
# return logger
def str_to_datetime(date_string):
@@ -736,6 +737,12 @@ class StatefulSemaphore:
}
# 日志使用全局访问点(兼容原有使用方式)
def get_logger(name, file_name=None, without_formater=False, print_to_console=False):
"""全局函数包装器,保持向后兼容"""
return FastDeployLogger().get_logger(name, file_name, without_formater, print_to_console)
llm_logger = get_logger("fastdeploy", "fastdeploy.log")
data_processor_logger = get_logger("data_processor", "data_processor.log")
scheduler_logger = get_logger("scheduler", "scheduler.log")