You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关闭aiogram executor在控制台输出的提示信息?

解决aiogram轮询时关闭控制台提示的方法

一、官方参数配置

aiogram的executor.start_polling可以通过日志配置直接屏蔽这类提示:

  • 你提到的"Updates were skipped successfully.""Goodbye!"都属于INFO级别的日志,只需调整日志级别,只保留WARNING及以上的输出即可:
import logging

# 全局设置日志级别,屏蔽INFO级提示
logging.basicConfig(level=logging.WARNING)
  • 若想精准屏蔽aiogram执行器的日志,不影响其他模块输出,可以单独指定日志器:
import logging

# 仅针对aiogram执行器设置日志级别
logging.getLogger('aiogram.executor').setLevel(logging.WARNING)

二、无官方参数时的变通方法

如果上述日志配置无法满足需求,可通过重定向输出实现类似/dev/null的效果:

方法1:临时重定向输出流

通过上下文管理器临时把标准输出/错误导向空设备,启动完成后恢复:

import sys
from contextlib import contextmanager

@contextmanager
def suppress_output():
    original_stdout = sys.stdout
    original_stderr = sys.stderr
    try:
        with open('/dev/null', 'w') as devnull:
            sys.stdout = devnull
            sys.stderr = devnull
            yield
    finally:
        sys.stdout = original_stdout
        sys.stderr = original_stderr

# 启动时使用上下文管理器包裹
if __name__ == '__main__':
    with suppress_output():
        executor.start_polling(dp, skip_updates=True)

注意:此方法会屏蔽所有控制台输出,包括错误信息,需谨慎使用。

方法2:系统层面重定向

如果脚本是通过终端启动,可直接用shell命令重定向输出:

python your_bot.py > /dev/null 2>&1

内容的提问来源于stack exchange,提问作者OscarAkaElvis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 05:52:01