python程序调试与测试输出日志到文件

本文介绍如何使用Python的logging模块来记录日志信息。通过创建FileHandler和StreamHandler实例,可以将不同级别的日志信息输出到文件和控制台。文中提供了具体配置方法及示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



输出日志到文件

  • 创建一个logging.FileHandler对象
  • 配置其日志级别和格式等信息
  • 添加文件处理器到logger
import logging

# 获取logger对象,设置日志级别
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)

# 获取文件处理器,并设置级别
handler = logging.FileHandler("./logs/log.txt")
# handler = logging.FileHandler("./logs/log.csv")
handler.setLevel(logging.INFO)

# 获取并设置文件处理器的日志格式
formatter = logging.Formatter('%(asctime)s,%(name)s,%(levelname)s,%(message)s')
handler.setFormatter(formatter)

# 设置日志处理器
logger.addHandler(handler)

# 打印日志
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")

同时输出日志到控制台和文件

  • 分别创建一个FileHander和一个StreamHandler对象用于处理文件输出和控制台输出
  • 分别配置两个处理器的输出级别和格式
  • 将这两个处理器都添加到logger对象
import logging

# 获取logger对象,取名mylog
logger = logging.getLogger("mylog")

# 输出INFO及以上级别的信息
logger.setLevel(level=logging.INFO)

# 获取文件处理器并设置日志级别
handler = logging.FileHandler("./logs/log2.txt")
handler.setLevel(logging.INFO)

# 生成并设置文件处理器的日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# 获取流处理器并设置日志级别
console = logging.StreamHandler()
console.setLevel(logging.INFO)

# 为logger对象同时添加文件处理器和流处理器
logger.addHandler(handler)
logger.addHandler(console)

# 打印日志
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")

版权声明:本文为博主原创文章,未经博主允许不得转载。https://my.youkuaiyun.com/pangzhaowen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值