如何关闭Discord.py机器人启动时的INFO日志信息?
解决Discord.py机器人启动时INFO日志显示问题
方法一:全局调整Python日志级别
直接将Python全局日志级别设为WARNING及以上,就能屏蔽INFO级别的输出。在机器人代码开头添加以下代码:
import logging logging.basicConfig(level=logging.WARNING)
方法二:单独控制Discord.py日志器
如果不想影响其他模块的日志输出,可以仅针对discord相关日志器调整级别:
import logging # 调整discord主日志器级别 discord_logger = logging.getLogger('discord') discord_logger.setLevel(logging.WARNING) # 同时调整discord.http的日志级别 discord_http_logger = logging.getLogger('discord.http') discord_http_logger.setLevel(logging.WARNING)
方法三:自定义过滤器精细过滤
要是需要更精准地过滤特定INFO日志,可以自定义日志过滤器:
import logging class FilterDiscordInfo(logging.Filter): def filter(self, record): # 过滤discord模块下的所有INFO级日志 return not (record.name.startswith('discord') and record.levelno == logging.INFO) # 给全局日志处理器添加过滤器 logging.basicConfig(level=logging.INFO) for handler in logging.root.handlers: handler.addFilter(FilterDiscordInfo())
补充说明
突然出现该问题大概率是因为你更新了Discord.py版本,新版本默认开启了INFO级别的日志输出。上述方法都能有效屏蔽这类日志,可根据自身需求选择使用。
内容的提问来源于stack exchange,提问作者Erikli
相关产品推荐
相关产品推荐

