python基础——logging模块

本文详细介绍了Python的logging模块,包括默认的日志等级、如何通过basicConfig配置日志等级、输出格式和文件路径,以及如何将日志信息输出到文件中。

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

logging模块默认是使用warning等级,所以在不指定等级的情况下只有warning及其以上才会在终端中打印
import logging 

logging.debug("aaa")
logging.info("bbb")
logging.warning("ccc")
logging.error("ddd")
logging.fatal("eee")

终端输出:
WARNING:root:ccc
ERROR:root:ddd
CRITICAL:root:eee

python提供了一个配置log文件的接口logging.basicConfig,可以自行设置需要输出的日志等级,basicConfig的参数介绍:
level:设置日志级别,默认是logging.WARNING
filename:指定日志输出的文件名
filemode:指定日志文件的写入模式,默认是"a",以追加的方式写入

format:指定输出的格式和内容,参数如下
asctime:打印日志输出时间
name:用于记录调用的日志程序的名称
filename:打印当前执行程序名
levelname:打印日志输出等级名称
message:打印日志输出内容

import logging 


# 自行指定日志等级为info
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
logger = logging.getLogger(__name__)
logger.info("aaa")
logger.debug("bbb")  # 小于info等级的日志不会输出
logger.warning("ccc")

终端输出:
2020-02-14 12:07:09,314 - __main__ - INFO - aaa
2020-02-14 12:07:09,314 - __main__ - WARNING - ccc
把日志写入文件中
import logging

# 实例化一个logger
logger = logging.getLogger(__name__)
# 设置logger的等级
logger.setLevel(level=logging.INFO)  # 配置日志的最低等级,只有符合该等级的才会分配到handler
# 实例化一个句柄
handler = logging.FileHandler("log.txt")  # 日志文件路径
handler.setLevel(level=logging.INFO)  
# 实例化一个formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")  # 输出到文件的格式
handler.Formatter(formatter)  # 设置内容格式模板
logger.addHandler(handler)  # 句柄添加

logger.info("start")
logger.debug("doing debug")
logger.warning("doing warning")
logger.error("finish")

输出:(debug不会输出)
2020-02-14 21:53:43,422 - __main__ - INFO - start
2020-02-14 21:53:43,422 - __main__ - WARNING - doing warning
2020-02-14 21:53:43,422 - __main__ - INFO - finish
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值