🔊 improve message logging

This commit is contained in:
Mix 2021-02-07 12:40:31 +08:00
parent 24349953e3
commit 382a9b6e12
3 changed files with 11 additions and 11 deletions

View File

@ -253,7 +253,6 @@ class Bot(BaseBot):
* ``message: Union[MessageChain, MessageSegment, str]``: 要发送的消息 * ``message: Union[MessageChain, MessageSegment, str]``: 要发送的消息
* ``at_sender: bool``: 是否 @ 事件主体 * ``at_sender: bool``: 是否 @ 事件主体
""" """
print(event, message, at_sender)
if not isinstance(message, MessageChain): if not isinstance(message, MessageChain):
message = MessageChain(message) message = MessageChain(message)
if isinstance(event, FriendMessage): if isinstance(event, FriendMessage):

View File

@ -44,8 +44,9 @@ class MessageSegment(BaseMessageSegment):
@overrides(BaseMessageSegment) @overrides(BaseMessageSegment)
def __str__(self) -> str: def __str__(self) -> str:
if self.is_text(): return self.data['text'] if self.is_text() else repr(self)
return self.data.get('text', '')
def __repr__(self) -> str:
return '[mirai:%s]' % ','.join([ return '[mirai:%s]' % ','.join([
self.type.value, self.type.value,
*map( *map(

View File

@ -23,27 +23,26 @@ _AnyCallable = TypeVar("_AnyCallable", bound=Callable)
class Log: class Log:
@staticmethod @staticmethod
def _log(level: str, message: Any, exception: Optional[Exception] = None): def log(level: str, message: str, exception: Optional[Exception] = None):
logger = logger_wrapper('MIRAI') logger = logger_wrapper('MIRAI')
logger(level=level, message = '<e>' + escape_tag(message) + '</e>'
message=escape_tag(str(message)), logger(level=level.upper(), message=message, exception=exception)
exception=exception)
@classmethod @classmethod
def info(cls, message: Any): def info(cls, message: Any):
cls._log('INFO', escape_tag(str(message))) cls.log('INFO', str(message))
@classmethod @classmethod
def debug(cls, message: Any): def debug(cls, message: Any):
cls._log('DEBUG', escape_tag(str(message))) cls.log('DEBUG', str(message))
@classmethod @classmethod
def warn(cls, message: Any): def warn(cls, message: Any):
cls._log('WARNING', escape_tag(str(message))) cls.log('WARNING', str(message))
@classmethod @classmethod
def error(cls, message: Any, exception: Optional[Exception] = None): def error(cls, message: Any, exception: Optional[Exception] = None):
cls._log('ERROR', escape_tag(str(message)), exception=exception) cls.log('ERROR', str(message), exception=exception)
class ActionFailed(exception.ActionFailed): class ActionFailed(exception.ActionFailed):
@ -169,6 +168,7 @@ def process_reply(bot: "Bot", event: GroupMessage) -> GroupMessage:
async def process_event(bot: "Bot", event: Event) -> None: async def process_event(bot: "Bot", event: Event) -> None:
if isinstance(event, MessageEvent): if isinstance(event, MessageEvent):
Log.debug(event.message_chain)
event = process_source(bot, event) event = process_source(bot, event)
if isinstance(event, GroupMessage): if isinstance(event, GroupMessage):
event = process_nick(bot, event) event = process_nick(bot, event)