Python中logging日志的四个等级和使用
在Python中,logging模块是一个非常常用的模块,用于在记录日志的时候输出一些信息,帮助我们进行调试和错误排查。logging模块提供了四个等级,分别是debug、info、warning、error、critical。下面我将详细讲解每个等级以及如何使用。
1. debug
debug是最低级别的等级,用于输出一些详细的信息,通常用于调试。
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug('This is a debug message')
输出结果:
DEBUG:root:This is a debug message
2. info
info是普通级别的等级,用于输出一些常规的信息,通常用于区分不同的请求。
import logging
logging.basicConfig(level=logging.INFO)
logging.info('This is an info message')
输出结果:
INFO:root:This is an info message
3. warning
warning是警告级别的等级,用于输出一些警告信息,通常用于程序出现一些可能的问题。
import logging
logging.basicConfig(level=logging.WARNING)
logging.warning('This is a warning message')
输出结果:
WARNING:root:This is a warning message
4. error
error是错误级别的等级,用于输出一些错误信息,表示程序发生了错误。
import logging
logging.basicConfig(level=logging.ERROR)
logging.error('This is an error message')
输出结果:
ERROR:root:This is an error message
示例说明
下面是一个实际应用的例子,假设我们在开发一个网络爬虫,需要记录一些爬取的日志信息。我们可以按照等级的不同,输出不同的信息。
import logging
import requests
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
def crawl(url):
try:
response = requests.get(url)
logging.info('Successfully crawled {}'.format(url))
return response.text
except Exception as e:
logging.error('Failed to crawl {}: {}'.format(url, e))
url = 'https://www.baidu.com'
crawl(url)
在上面的代码中,我们使用了logging模块记录了爬虫程序的爬取过程,并且输出了对应的日志信息。在这个例子中,我们使用了info和error两个等级。
另外一个有趣的例子是我们可以更改logging的输出目标,写入到本地文件中。
import logging
logging.basicConfig(filename='example.log', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')
上面的代码将日志输出到了本地的文件中。在实际开发中,我们通常会将日志输出到文件中,以便后续的查阅和排查。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中logging日志的四个等级和使用 - Python技术站