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

如何将Python的INFO日志输出到控制台,DEBUG日志写入文件?

Python日志配置:实现INFO日志双输出、DEBUG仅文件输出

要实现你需求的日志行为,核心是给Python的logging模块添加两个不同级别的处理器,分别控制文件写入和控制台输出:

import logging

# 获取根日志记录器,并设置最低级别为DEBUG(避免提前过滤日志)
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

# 创建文件处理器:写入所有DEBUG及以上级别的日志到文件
file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.DEBUG)

# 创建控制台处理器:仅输出INFO及以上级别的日志到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)

# 定义日志格式(可选,按需调整)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)

# 将处理器添加到日志记录器
logger.addHandler(file_handler)
logger.addHandler(console_handler)

# 测试代码
logging.info("This should show both in a file and the output")
logging.debug("This should show only in a file")

关键逻辑说明:

  • 根logger设置DEBUG级别是为了确保所有级别的日志都能传递到处理器,由处理器自行决定是否输出
  • FileHandler级别设为DEBUG,所以debug()、info()等所有更高等级的日志都会写入文件
  • StreamHandler级别设为INFO,所以仅info()及以上等级的日志会显示在控制台
  • 可根据需求修改日志格式、文件名等参数

内容的提问来源于stack exchange,提问作者Eran H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:54:53