mirror of
https://github.com/Genshin-bots/gsuid_core.git
synced 2025-05-12 06:55:49 +08:00
🐛 将错误日志堆栈记录至文件中 (#74)
This commit is contained in:
parent
392422f5ad
commit
91bc86bd07
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
@ -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}'
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user