🐛 将错误日志堆栈记录至文件中 (#74)

This commit is contained in:
KimigaiiWuyi 2024-10-01 00:58:17 +08:00
parent 392422f5ad
commit 91bc86bd07
2 changed files with 5 additions and 6 deletions

View File

@ -2,10 +2,10 @@ import sys
import asyncio import asyncio
import logging import logging
import datetime import datetime
import traceback
from typing import TYPE_CHECKING, List from typing import TYPE_CHECKING, List
import loguru import loguru
from uvicorn.config import LOGGING_CONFIG
from gsuid_core.config import core_config from gsuid_core.config import core_config
from gsuid_core.models import Event, Message from gsuid_core.models import Event, Message
@ -23,6 +23,8 @@ if TYPE_CHECKING:
from loguru import Logger from loguru import Logger
logger: 'Logger' = loguru.logger logger: 'Logger' = loguru.logger
logging.getLogger().handlers = []
LOGGING_CONFIG["disable_existing_loggers"] = False
# https://loguru.readthedocs.io/en/stable/overview.html#entirely-compatible-with-standard-logging # https://loguru.readthedocs.io/en/stable/overview.html#entirely-compatible-with-standard-logging
@ -44,9 +46,6 @@ class LoguruHandler(logging.Handler): # pragma: no cover
def format_event(record): def format_event(record):
if record['exception']:
return f'{traceback.print_tb(record["exception"].traceback)} \n'
if 'trigger' in record['extra']: if 'trigger' in record['extra']:
_tg = record['extra']['trigger'] _tg = record['extra']['trigger']
message = ( message = (
@ -105,7 +104,7 @@ def format_event(record):
time = '<g>{time:MM-DD HH:mm:ss}</g>' time = '<g>{time:MM-DD HH:mm:ss}</g>'
level = '[<lvl>{level}</lvl>]' level = '[<lvl>{level}</lvl>]'
def_name = f'<c><u>{".".join(def_name.split(".")[-5:])}</u></c>' def_name = f'<c><u>{".".join(def_name.split(".")[-5:])}</u></c>'
_log = f'{time} {level} {def_name} | {message} \n' _log = f'{time} {level} {def_name} | {message} \n {{exception}}'
return _log return _log

View File

@ -269,7 +269,7 @@ def install_dependencies(dependencies: Dict, need_update: bool = False):
if retcode != 0: if retcode != 0:
logger.warning('[安装/更新依赖] 安装失败(将会重试一次)') logger.warning('[安装/更新依赖] 安装失败(将会重试一次)')
if ' python -m' in start_tool: if ' python -m' in start_tool:
start_tool = start_tool.replace('python -m', '') start_tool = start_tool.replace(' python -m', '')
CMD = ( CMD = (
f'{start_tool} install "{dependency}{version}" {extra}' f'{start_tool} install "{dependency}{version}" {extra}'
) )