📅  最后修改于: 2023-12-03 14:46:28.272000             🧑  作者: Mango
在程序开发过程中,日志记录是非常重要的,因为它可以帮助我们追踪和调试应用程序中出现的问题。Python提供了一个内置的日志记录库logging
,它可以方便地记录应用程序运行时的状态、错误信息等。
logging
模块的基本用法首先我们需要引入logging
模块:
import logging
然后,我们需要配置日志记录器。通常我们会创建一个全局的记录器,用于保存所有的日志记录。默认情况下,在logging
模块中,会创建一个名为root
的记录器。
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
这里我们使用basicConfig()
方法配置日志记录器,其中:
level
: 指定日志记录的级别,包括DEBUG
、INFO
、WARNING
、ERROR
、CRITICAL
。只有大于等于该级别的日志记录才会被输出。默认情况下,日志记录的级别为WARNING
。format
: 指定日志记录的格式,可以包含时间戳、记录器名称、级别、消息等信息。接下来,我们可以通过以下方式进行日志记录:
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')
以上代码会输出以下信息到控制台:
2021-08-01 10:30:47,271 - root - DEBUG - This is a debug message
2021-08-01 10:30:47,271 - root - INFO - This is an info message
2021-08-01 10:30:47,271 - root - WARNING - This is a warning message
2021-08-01 10:30:47,271 - root - ERROR - This is an error message
2021-08-01 10:30:47,271 - root - CRITICAL - This is a critical message
除了输出到控制台,我们还可以将日志记录保存到文件中。我们可以使用FileHandler
类来实现这个功能:
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
# 创建一个文件处理器,将日志写入到文件中
fh = logging.FileHandler('mylog.log')
fh.setLevel(logging.DEBUG)
# 创建一个日志记录格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
# 将文件处理器添加到记录器中
logger.addHandler(fh)
# 开始记录日志
logger.debug('debug message')
logger.info('info message')
以上代码会将日志记录保存到mylog.log
文件中。
logging
模块为我们提供了方便的日志记录功能,我们可以配置不同级别的日志记录器,将日志记录输出到控制台或保存到文件中。通过日志记录,我们可以更方便地了解应用程序中的问题,进行调试和优化。