Python学习笔记(25)-Python日志使用详解与实例

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文目录1. 简介2. 为何使用日志3. 如何输出日志4. 日志级别5. 日志禁用6. 将日志输出到文件

1. 简介

本篇主要演示为何使用日志,如何输出日志,如何设置日志的级别,如何限制各级别的日志的输出以及如何将日志输出到文件。


2. 为何使用日志

使用print()函数输出调试信息是非常不正确的,最简单的原因就是:print()会遍布于程序各处,当程序员不想再输出调试信息时,需要一处一处的去查找然后注释掉print(),非常麻烦。


所以需要注意的是,print()函数实际上是输出给用户看到,就如input()是用来接收用户输入一样。


日志却是用来显示给程序员看的信息的,日志信息可以区分日志信息的严重级别,同时可以轻易的选择是调试状态还是运行状态(可以区分显示的日志级别)。


3. 如何输出日志

首先导入日志模块logging,然后对其进行配置,主要配置日志级别(稍后具体讲,日志输出的格式)。代码如下:

#导入日志模块
import logging
#日志模块配置(DEBUG级别,格式为:时间-级别-消息)
logging.basicConfig(level=logging.DEBUG,format="%(asctime)s-%(levelname)s:%(message)s")
#输出日志
logging.debug("debug日志")

4. 日志级别

主要有五种,可以通过logging.basicConfig中的level参数修改级别。

DEBUG:小问题,一般在调试时才会使用
INFO:正常运行消息
WARNING:警告,可能有问题
ERROR:错误,导致程序部分处理失败
CRITICAL:致命的问题,程序都要完蛋

如果设置级别为DEBUG,则会输出所有级别日志

如果设置级别为ERROR,则只会输出ERROR和更高的CRITICAL级别的日志。

例如:

#导入日志模块
import logging
#日志模块配置(级别,格式为:时间-级别-消息)
logging.basicConfig(level=logging.ERROR,format="%(asctime)s-%(levelname)s:%(message)s")
#输出日志
logging.debug("debug日志")#不会输出
logging.error("error日志")#会输出
logging.critical("critical日志")#会输出

5. 日志禁用

如果在程序都调试完了,准备运行了,只想输出CRITICAL级别及以上级别的日志,则可以调用logging.disable(logging.ERROR),该方法的功能是禁用该级别及更低级别的日志。

例如:

#导入日志模块
import logging
#日志模块配置(级别,格式为:时间-级别-消息)
logging.basicConfig(level=logging.ERROR,format="%(asctime)s-%(levelname)s:%(message)s")
#禁用日志
logging.disable(logging.ERROR)
#输出日志
logging.debug("debug日志")#不会输出
logging.error("error日志")#不会输出
logging.critical("critical日志")#会输出

6. 将日志输出到文件

直接举例即可,只是在basicConfig中添加filename参数即可。

#导入日志模块
import logging
#日志模块配置(级别,格式为:时间-级别-消息)
logging.basicConfig(filename="C:\\runlog.txt",level=logging.ERROR,format="%(asctime)s-%(levelname)s:%(message)s")
#输出日志
logging.error("debug日志")
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
18小时前
|
Python
Python 练习实例27
Python 练习实例27
|
18小时前
|
Python
Python 练习实例26
Python 练习实例26
|
18小时前
|
Python
Python 练习实例25
Python 练习实例25
|
1天前
|
Python
Python 练习实例24
Python 练习实例24
|
1天前
|
Python
Python 练习实例23
Python 练习实例23
|
1天前
|
Python
Python 练习实例22
Python 练习实例22
|
1天前
|
运维 安全 Serverless
函数计算产品使用问题之登陆函数实例之后如何查看函数的日志
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2天前
|
Python
经验大分享:python类函数,实例函数,静态函数
经验大分享:python类函数,实例函数,静态函数
|
2天前
|
Python
python3 入门学习笔记
python3 入门学习笔记
3 0
|
2天前
|
数据采集 存储 Web App开发
python爬虫编写实例分享
python爬虫编写实例分享